REGEXP_COUNT 統計字元出現的次數函數,Oracle11g後引入了此函數。
- 文法
REGEXP_COUNT (source_char, pattern [, position [, match_param]])
示例,使用LENGTH( )組合REGEXP_COUNT函數實作統計字元'#'出現的次數:
SELECT REGEXP_COUNT('00000000,11000000,11011200,#1101127200,1101127201,1101127202,#1101127203','#') COUNT FROM DUAL;
SELECT LENGTH(REGEXP_REPLACE('00000000,11000000,11011200,#1101127200,1101127201,1101127202,#1101127203','
1+')) COUNT FROM DUAL;
-
大小寫字元統計
REGEXP_COUNT預設區分大小寫統計,等同于全參形式:
SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',1,'c') COUNT FROM DUAL;
區分大小寫敏感統計,啟用'i'參數即可:
SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',1,'i') COUNT FROM DUAL;
-
從指定位置查找
REGEXP_COUNT倒數第二個參數表示開始檢索關鍵字的位置,如下:
SELECT REGEXP_COUNT('00000000,11000000,11011200,#A1101127200,1101127201,1101127202,#1101127203','a',30,'i') COUNT FROM DUAL;
REGEXP_REPLACE函數
另一種方式,可通過REGEXP_REPLACE函數比對正規表達式實作,如下統計字元'#'出現的次數:
- # ↩