这在(Oracle)SQL中是否可行?
我有一个varchar,例如“这是varchar”,我想计算“i”的数量(它是2)......
答案 0 :(得分:5)
尝试使用REGEXP_COUNT
功能,如下所示:
select REGEXP_COUNT( 'This is varchar', 'i' ) from dual
Here您可以找到有关REGEXP_COUNT的更多信息。
<强> SQL Fiddle DEMO 强>
答案 1 :(得分:3)
您可以移除所有i
并检查长度差异。
select length('This is varchar')
- NVL(length(replace('This is varchar', 'i')) , 0)
from dual;
答案 2 :(得分:1)
试试这个:
LENGTH(varcharString) - LENGTH(REPLACE(varcharString, 'i', ''))