sql - SQL-如何获取列中字符串中数字子字符串的计数
问题描述
我有一张名为Garden
.
在Garden
表中,有一列以Fruit
数千行命名,每一行Fruit
都有逗号分隔的值,如,Apple
等 。Banana
Pear
我想要获取列中每一行中水果数量的计数,Fruit
例如如果第一行有Apple
, Banana
, Pear
,那么计数应该返回 3。
如何为它编写一个 sql 查询。
我尝试使用正则表达式,但它不起作用。
解决方案
如果您使用的是 Oracle 数据库,那么您可以使用REGEXP_COUNT正则表达式。查找以下示例:-
创建餐桌花园(水果varchar2(1000)); 插入花园 VALUES('apple,bananan,pear'); 插入花园 VALUES('橙子,香蕉'); 插入花园 VALUES('苹果、香蕉、梨、橙'); 从花园中选择*; 输出:- 水果 ------------------ 苹果、香蕉、梨 橙子,香蕉 苹果、香蕉、梨、橙
现在您可以使用以下查询来获取计数。
select REGEXP_COUNT(Fruit, ',')+1 as fruit_count from garden;
推荐阅读
- python - Python 列表中的元素
- angular - Angular:NGX Bootstrap,预先输入的自定义模板查询突出显示
- c# - 平稳地将玩家推离物体
- regex - 如果有的话,这个重写规则有什么作用?
- android - 如何在 Android Studio 模拟器上使用 SQLite darabase 启动应用程序?
- react-native - React Native MapView:什么是latitudeDelta longitudeDelta
- r - 逐行加速data.frame的子集,避免循环(dplyr,R)
- javascript - 调整大小时从上到下移动 n 响应式导航栏
- mongodb - MongoDB。创建/写入日志文件
- php - SSL 打破了 Facebook 的点赞按钮