「MySQL」LOCATE関数で特定の文字列が最初に出現する位置を取得

環境
Windows10 64bit
MySQL 8.0.27

書式
LOCATE( 検索文字列, 検索対象文字列 )
LOCATE関数を使用することで特定の文字列が最初に出現する位置を調べます。
LOCATE( 検索文字列, 検索対象文字列, 数値 )
第3引数に数値を指定することで、何文字目以降を検索対象とするかを指定できます。

使用例1
1文字目から検索します

mysql>  SELECT LOCATE( 'ga', 'arkgamearkgame' ) result;
+--------+
| result |
+--------+
|      4 |
+--------+
1 row in set (0.03 sec)

使用例2
5文字目以後を検索します

mysql> SELECT LOCATE( 'ST', 'KSTSTST12345', 5 ) result;
+--------+
| result |
+--------+
|      6 |
+--------+
1 row in set (0.00 sec)

使用例3
検索文字列が見つからなかった場合

mysql> SELECT LOCATE( 'info', 'Study*Skill*in*ARKGME' ) result;
+--------+
| result |
+--------+
|      0 |
+--------+
1 row in set (0.00 sec)

 

MySQL

Posted by arkgame