2

这在(Oracle)SQL 中可能吗?

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

4

3 回答 3

5

尝试使用REGEXP_COUNT如下功能:

select  REGEXP_COUNT( 'This is varchar', 'i' ) from dual

在这里您可以找到有关 REGEXP_COUNT 的更多信息。

SQL 小提琴演示

于 2012-11-21T12:50:11.230 回答
3

您可以删除所有is 并检查长度差异。

select length('This is varchar')
       - NVL(length(replace('This is varchar', 'i')) , 0)
from dual;
于 2012-11-21T12:47:48.943 回答
1

试试这个:

LENGTH(varcharString) - LENGTH(REPLACE(varcharString, 'i', ''))
于 2012-11-21T12:47:20.807 回答