SQL道場 文字列関数 LOCATE関数

SQLで文字列内の文字位置を検索するLOCATE関数について記載しています。

対応データベースMySQL DB2

LOCATE関数の文法

SELECT LOCATE(検索する文字列,検索対象の文字列,検索開始位置) FROM テーブル
引数検索する文字列文字列型
検索対象の文字列文字列型
検索開始位置数値型
返値数値型 検索対象の文字列が見つかった場合は見つかった位置。また、見つからなかった場合は0を返します。

LOCATE関数は指定された文字列内に含まれる文字列を検索し、見つかった位置を返します。見つからなかった場合は0を戻します。検索開始位置を省略した場合は先頭から検索します。また、引数のいずれかが NULL である場合は、NULL を返します。

この関数はマルチバイトセーフであり、1 つ以上の引数がバイナリ文字列である場合にのみ大文字と小文字が区別されます。

実行例

MySQLの実行例

/* MySQL 文字列中の文字の位置を検索するサンプル */
SELECT STR,LOCATE('計画',STR,1) FROM testdb.WORK;
LOCATE関数サンプル実行結果