MariaDB カンマ区切りの文字データから指定した文字データの位置を抽出する

MariaDB カンマ区切りの文字データから指定した文字データの位置を抽出する

MariaDBで、カンマ区切りの文字データから指定した文字データの位置を抽出する手順を記述してます。「FIND_IN_SET( )」で可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

  • OS CentOS Stream release 9
  • MariaDB 10.10.2
  • phpMyAdmin 5.2.0

手順

カンマ区切りの文字データから指定した文字データの位置を抽出するには、「FIND_IN_SET( )」を使用します。

FIND_IN_SET( 文字列,文字列,文字列,文字列... )

実際に、実行して抽出してみます。

SELECT 
FIND_IN_SET('a','a,b,c,d'),
FIND_IN_SET('b','a,b,c,d'),
FIND_IN_SET('c','a,b,c,d')

実行結果を確認すると、指定した位置の値が抽出されていることが確認できます。

存在しない値

数値を存在しない値を指定すると「0」が返ります。

SELECT 
FIND_IN_SET('e','a,b,c,d')

実行結果

サロゲートペア

サロゲートペア文字も利用可能です。

SELECT 
FIND_IN_SET('😀','😅,😀,😆')

実行結果