MariaDB SUBSTRING_INDEX関数で区切り文字列N個目までの文字列を取り出す
環境
MariaDB 10.6.4
Windows 10 Home 64bit
構文
SUBSTRING_INDEX( 文字列, 区切文字列, 数値N )
SUBSTRING_INDEX関数を使用することで、区切り文字N個目までの文字列を取り出すことができます。
第3引数で負の数値を指定することで、文字列を右側から取り出すこともできます。
使用例
1.区切り文字3個目までの文字列を取り出します
SQl構文
SELECT SUBSTRING_INDEX( 'Lmasx#AtttMyuuuu#Pee', '#', 3 );
実行結果
MariaDB [(none)]> SELECT SUBSTRING_INDEX( 'Lmasx#AtttMyuuuu#Pee', '#', 3 ); +---------------------------------------------------+ | SUBSTRING_INDEX( 'Lmasx#AtttMyuuuu#Pee', '#', 3 ) | +---------------------------------------------------+ | Lmasx#AtttMyuuuu#Pee | +---------------------------------------------------+ 1 row in set (0.116 sec)
2.区切り文字列を3文字で指定した場合
SQl構文
SELECT SUBSTRING_INDEX( 'Leeuu#Apuuhh###Mytes#Pee', '###', 1 );
実行結果
MariaDB [(none)]> SELECT SUBSTRING_INDEX( 'Leeuu#Apuuhh###Mytes#Pee', '###', 1 ); +---------------------------------------------------------+ | SUBSTRING_INDEX( 'Leeuu#Apuuhh###Mytes#Pee', '###', 1 ) | +---------------------------------------------------------+ | Leeuu#Apuuhh | +---------------------------------------------------------+ 1 row in set (0.000 sec)
3.第3引数を負の数値で指定した場合
SQL構文
SELECT SUBSTRING_INDEX( 'Lee#Apuuu#Mnuu#Prr', '#', -2 );
実行結果
MariaDB [(none)]> SELECT SUBSTRING_INDEX( 'Lee#Apuuu#Mnuu#Prr', '#', -2 ); +--------------------------------------------------+ | SUBSTRING_INDEX( 'Lee#Apuuu#Mnuu#Prr', '#', -2 ) | +--------------------------------------------------+ | Mnuu#Prr | +--------------------------------------------------+ 1 row in set (0.014 sec)