MariaDB 区切り文字を指定して文字を取得する

MariaDB 区切り文字を指定して文字を取得する

MariaDBで、区切り文字を指定して文字を取得する手順を記述してます。「SUBSTRING_INDEX( )」に区切り文字と取得する文字数を指定します。ここでは、実際に実行した結果を画像で掲載してます。

環境

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

手順

区切り文字を指定して文字を取得するには、「SUBSTRING_INDEX( )」を使用します。

SUBSTRING_INDEX( 文字列 , 区切り文字, [文字数] )

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

SELECT 
SUBSTRING_INDEX( 'm,e,b,e,e', ',', 3 ),
SUBSTRING_INDEX( 'hello world !!', ' ', 2 )

実行結果を確認すると、指定した区切り文字で指定した文字数だけが取得されていることが確認できます。

「0」を指定すると空が返ります。

SELECT 
SUBSTRING_INDEX( 'm,e,b,e,e', ',', 0 ),
SUBSTRING_INDEX( 'hello world !!', ' ', 0 )

実行結果

マイナスを指定

マイナスを指定すると、後ろから取得されます。

SELECT 
SUBSTRING_INDEX( 'm,e,b,e,e', ',', -3 ),
SUBSTRING_INDEX( 'hello world !!', ' ', -2 )

実行結果

数値を指定

数値を指定して実行することもできます。

SELECT 
SUBSTRING_INDEX( 121212, 2, 2 ),
SUBSTRING_INDEX( 101010, 0, 3 )

実行結果

サロゲートペア

サロゲートペア文字も、利用できます。

SELECT 
SUBSTRING_INDEX( '😻🙆😂🙆😀🙆🙍🙆', '🙆', 3 )

実行結果