STRPOS 関数
指定された文字列内のサブ文字列の位置を返します。
同様の関数については、「CHARINDEX 関数」および「POSITION 関数」を参照してください。
構文
STRPOS(string, substring )
引数
- string
-
最初の入力パラメータは、検索する
CHAR
またはVARCHAR
文字列です。 - substring
-
2 番目のパラメータは、string 内で検索するサブ文字列です。
戻り型
- INTEGER
-
STRPOS 関数は、substring の位置に対応する
INTEGER
(0 ではなく 1 から始まる) を返します。位置はバイト数ではなく文字数に基づくため、マルチバイト文字は 1 文字としてカウントされます。
使用に関する注意事項
string 内で substring が見つからない場合、STRPOS は 0
を返します。
SELECT STRPOS('dogfish', 'fist');
+--------+ | strpos | +--------+ | 0 | +--------+
例
dogfish
内の fish
の位置を示すには、次の例を使用します。
SELECT STRPOS('dogfish', 'fish');
+--------+ | strpos | +--------+ | 4 | +--------+
次の例では、TICKIT サンプルデータベースの SALES テーブルからのデータを使用します。詳細については、「サンプルデータベース」を参照してください。
SALES テーブル内で COMMISSION が 999.00 を上回る販売取引の数を返すには、次の例を使用します。
SELECT DISTINCT STRPOS(commission, '.'), COUNT (STRPOS(commission, '.')) FROM sales WHERE STRPOS(commission, '.') > 4 GROUP BY STRPOS(commission, '.') ORDER BY 1, 2;
+--------+-------+ | strpos | count | +--------+-------+ | 5 | 629 | +--------+-------+