カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

指定した文字列が最初に出現する位置を調べるLOCATE関数

LOCATE関数を使うと指定した文字列が最初に出現する位置を調べることができます。

【書式】
LOCATE(substr, str)
LOCATE(substr, str, pos)

【引数】
substr:検索文字列
str:検索対象文字列
pos:オフセット

posは何文字目以降を検索するかを数値で指定します。

例)

mysql> SELECT LOCATE('bar', 'foobarbar');
        -> 4
mysql> SELECT LOCATE('xbar', 'foobar');
        -> 0
mysql> SELECT LOCATE('bar', 'foobarbar', 5);
        -> 7

INSTR関数も同様の動作をしますが、引数の順序が逆なのと、第3引数がないのでご注意ください。

mysql> SELECT INSTR('foobarbar', 'bar');
        -> 4
mysql> SELECT INSTR('xbar', 'foobar');
        -> 0
2,145 views