如何计算varchar中指定char的出现次数

时间:2012-11-21 12:43:28

标签: sql oracle

这在(Oracle)SQL中是否可行?

我有一个varchar,例如“这是varchar”,我想计算“i”的数量(它是2)......

3 个答案:

答案 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', ''))