MariaDB リストから文字列を検索して位置を抽出する

MariaDB リストから文字列を検索して位置を抽出する

MariaDBで、リストから文字列を検索して位置を抽出する手順を記述してます。「FIELD( )」に検索する文字列と、対象の文字列を指定していくことで可能です。ここでは、実際に実行した結果を画像で掲載してます。

環境

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

手順

リストから文字列を検索して位置を抽出するには、「FIELD( )」を使用します。

FIELD( 検索文字列,文字列,文字列,文字列... )

実際に、実行して取得してみます。

SELECT
FIELD('abc', 'abc', 'efg', 'abc', 'abc', 'efg'),
FIELD('efg', 'abc', 'efg', 'abc', 'abc', 'efg'),
FIELD('ab', 'abc', 'efg', 'abc', 'abc', 'efg')

実行結果を確認すると、リストから文字列を検索して位置を抽出することが確認できます。
値がなければ「0」が返ります。

数値を指定

数値を指定しても取得されます。

SELECT 
FIELD(1, 1, 2, 3, 4),
FIELD(2, 1, 2, 3, 4),
FIELD(3, 1, 2, 3, 4),
FIELD(4, 1, 2, 3, 4)

実行結果

サロゲートペア

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

SELECT 
FIELD('😀', '😀', '😅', '😆', '😇'),
FIELD('😅', '😀', '😅', '😆', '😇')

実行結果