MySQL 区切り文字から指定した数だけ文字列を抽出する
MySQLで、区切り文字から指定した数だけ文字列を抽出する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
区切り文字から指定した数だけ文字列を抽出するには、「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 )
実行結果
-
前の記事
python PySimpleGUIのTextにツールチップを表示する 2022.01.29
-
次の記事
MySQL 文字列を反転して表示する 2022.01.29
コメントを書く