MariaDB 文字列が最初に見つかった位置を返す

MariaDBで、文字列が最初に見つかった位置を返す手順を記述してます。「LOCATE( )」に検索する文字列と検索したい文字列を指定することで可能です。ここでは、実際に実行した結果を画像で掲載してます。
環境
- OS CentOS Stream release 9
- MariaDB 10.10.2
- phpMyAdmin 5.2.0
手順
文字列が最初に見つかった位置を返すには、「LOCATE( )」を使用します。
LOCATE( 検索する文字列,文字列 )
実際に、検索してみます。
SELECT
LOCATE( 'c' ,'abcde'),
LOCATE( 'c' ,'abcdeabcde'),
LOCATE( 'cd' ,'abcde'),
LOCATE( 'cd' ,'abcdeabcde')
実行結果を確認すると、最初に見つかった位置が取得されていることが確認できます。

存在しないものを検索すると「0」が返ります。
SELECT
LOCATE( 'f' ,'abcde')
実行結果

また、検索開始位置を指定することも可能です。
SELECT
LOCATE( 'c', 'abcdeabcde', 1),
LOCATE( 'cd', 'abcdeabcde', 5)
実行結果

数値を指定
数値を指定して実行することもできます。
SELECT
LOCATE( 321 , 54321 ),
LOCATE( 3.21 , 543.21 )
実行結果

サロゲートペア
サロゲートペア文字の場合は、正常に機能しませんでした。
SELECT
LOCATE( '😀' , '😻😂😀🙍' )
実行結果

-
前の記事
javascript selectbox内の値を全てを取得する 2023.01.26
-
次の記事
EXCEL セルの書式設定を開くショートカットキー 2023.01.26
コメントを書く