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)

 

MariaDB

Posted by arkgame