COUNT_SUBSTRINGS
説明
COUNT_SUBSTRINGS関数は、文字列内で指定された部分文字列が出現する回数を数えます。注意:現在の実装では、マッチが見つかった場合、部分文字列の長さ分シフトした後に検索を続行します。例えば、str='ccc'でpattern='cc'の場合、返される結果は1です。
構文
COUNT_SUBSTRINGS(<str>, <pattern>)
パラメータ
| Parameter | デスクリプション |
|---|---|
<str> | 検索対象の文字列。型: STRING |
<pattern> | マッチする部分文字列。型: STRING |
Return Value
INT型を返し、文字列内に部分文字列が出現する回数を表します。
特殊なケース:
- strがNULLの場合、NULLを返す
- patternが空文字列の場合、0を返す
- strが空文字列の場合、0を返す
Examples
- 基本的な使用法
SELECT count_substrings('a1b1c1d', '1');
+----------------------------------+
| count_substrings('a1b1c1d', '1') |
+----------------------------------+
| 3 |
+----------------------------------+
- 連続するカンマのケース
SELECT count_substrings(',,a,b,c,', ',');
+-----------------------------------+
| count_substrings(',,a,b,c,', ',') |
+-----------------------------------+
| 5 |
+-----------------------------------+
- 重複する部分文字列のケース
SELECT count_substrings('ccc', 'cc');
+--------------------------------+
| count_substrings('ccc', 'cc') |
+--------------------------------+
| 1 |
+--------------------------------+
- NULL値の処理
SELECT count_substrings(NULL, ',');
+-----------------------------+
| count_substrings(NULL, ',') |
+-----------------------------+
| NULL |
+-----------------------------+
- 空文字列の処理
SELECT count_substrings('a,b,c,abcde', '');
+-------------------------------------+
| count_substrings('a,b,c,abcde', '') |
+-------------------------------------+
| 0 |
+-------------------------------------+