Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何计算varchar中specify char的出现次数_Sql_Oracle - Fatal编程技术网

Sql 如何计算varchar中specify char的出现次数

Sql 如何计算varchar中specify char的出现次数,sql,oracle,Sql,Oracle,这在(Oracle)SQL中可能吗 我有一个varchar,例如“This is varchar”,我想数一数“I”(它是2).试试这个: LENGTH(varcharString) - LENGTH(REPLACE(varcharString, 'i', '')) 您可以删除所有is并检查长度差异 select length('This is varchar') - NVL(length(replace('This is varchar', 'i')) , 0) from du

这在(Oracle)SQL中可能吗

我有一个varchar,例如“This is varchar”,我想数一数“I”(它是2).

试试这个:

LENGTH(varcharString) - LENGTH(REPLACE(varcharString, 'i', ''))

您可以删除所有
i
s并检查长度差异

select length('This is varchar')
       - NVL(length(replace('This is varchar', 'i')) , 0)
from dual;

尝试按如下方式使用
REGEXP\u COUNT
函数:

select  REGEXP_COUNT( 'This is varchar', 'i' ) from dual
您可以找到有关REGEXP\u计数的更多信息


警告:我不是Oracle开发人员。我相信这对于这个例子来说效果很好,但我会注意函数名的
REGEXP
部分;简单地用“<代码>”代替“<代码> >‘i’<代码>可能不做你希望它做的事情。@ T.To.To..但是,这个代码>选择ReXExpCyt计数(“这是varchar .”,'[.])将工作::编辑:需要考虑NULLS:<代码>选择长度(‘III’)-长度(替换(“iii”,‘i’))。代码>