2012-11-21 44 views

回答

5

嘗試使用如下REGEXP_COUNT功能:

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

Here您可以找到有關REGEXP_COUNT更多信息。

SQL Fiddle DEMO

+0

警告:我不是一名Oracle開發人員。我確信這個例子非常適用,但我會注意函數名稱的REGEXP部分;簡單地用''替代''''可能不會做到人們想做的事情。 –

+0

@ ta.speot.is但是這個'選擇REGEXP_COUNT('This is varchar。','[。]')from dual' will work :) – Parado

1

試試這個:

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

你可以刪除所有的i s並檢查長度差異。

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

編輯:需要考慮空值:'選擇長度( '三') - 長(更換( '三', 'I'))從雙;' –

相關問題