POSITION( 検索文字列 IN 検索対象文字列 )
POSITION関数を使用することで特定の文字列が最初に出現する位置を調べることができます。
検索文字列が見つかった場合はその位置を、見つからなかった場合は0を返します。
mysql> SELECT POSITION( 'SQ' IN 'MySQL' ); +-----------------------------+ | POSITION( 'SQ' IN 'MySQL' ) | +-----------------------------+ | 3 | +-----------------------------+ 1 row in set (0.00 sec)
mysql> SELECT POSITION( 'Perl' IN 'Linux+Apache+MySQL+PHP' ); +------------------------------------------------+ | POSITION( 'Perl' IN 'Linux+Apache+MySQL+PHP' ) | +------------------------------------------------+ | 0 | +------------------------------------------------+ 1 row in set (0.00 sec)
mysql> SELECT POSITION( 'php' IN 'Linux+Apache+MySQL+PHP' ); +-----------------------------------------------+ | POSITION( 'php' IN 'Linux+Apache+MySQL+PHP' ) | +-----------------------------------------------+ | 0 | +-----------------------------------------------+ 1 row in set (0.00 sec)
同じ動作をする関数にLOCATE関数とINSTR関数があります
ただLOCATE関数では検索開始位置を指定できる点が異なります。