説明
この関数は、正規表現に一致する値がソース文字列内に何回出現したかを返します。
構文
REGEXP_COUNT (source_char, pattern [, position [, match_param]])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| source_char | サーチ値として使用する文字式を指定します。データ型は CHAR、VARCHAR2、NCHAR、NVARCHAR2、または CLOB です。 |
| pattern | 正規表現の抽出ルールを指定します。通常はテキスト文字であり、文字型は CHAR、VARCHAR2、NCHAR、または NVARCHAR2 です。サブ式に括弧が含まれている場合、それらは無視されます。例えば、12(34)5 は 12345 と同じです。 |
| position | 正規表現のマッチング開始位置を指定します。値は正の整数で、オプションです。デフォルト値は 1 であり、最初の文字から source_char を検索することを意味します。 |
| match_param | より正確な正規表現のマッチング方式を指定します。オプションです。このパラメータは、データ型がVARCHAR2またはCHARの場合に使用される文字式です。
|
返り値のタイプ
NUMBERデータ型を返します。
例
最初の文字から検索し、abc,def,ghi のカンマの数を返します。
obclient> SELECT REGEXP_COUNT('abc,def,ghi',',',1,'i') FROM DUAL;
+---------------------------------------+
| REGEXP_COUNT('ABC,DEF,GHI',',',1,'I') |
+---------------------------------------+
| 2 |
+---------------------------------------+
1 row in set