MySQL(MariaDB)でよく使う文字列関数

MySQL(MariaDB)でよく使う文字列関数

MySQL(MariaDB)でよく使う文字列関数を3つ紹介します。通常はこれだけ覚えておけば大丈夫だと思います。

文字列の結合

CONCAT関数を使用します。

CONCAT(文字列, 文字列,…)
SELECT CONCAT('A', 'B', 'C');
+-----------------------+
| CONCAT('A', 'B', 'C') |
+-----------------------+
| ABC                   |
+-----------------------+

SELECT CONCAT('A', NULL, 'C');
+------------------------+
| CONCAT('A', NULL, 'C') |
+------------------------+
| NULL                   |
+------------------------+

NULLが含まれている場合は、NULLを返します。

文字列の置換

REPLACE関数を使います。

REPLACE(文字列, 置き換えたい文字列, 置き換え後の文字列)
SELECT REPLACE('ABC', 'A', '1');
+--------------------------+
| REPLACE('ABC', 'A', '1') |
+--------------------------+
| 1BC                      |
+--------------------------+

文字列の切り取り

SUBSTRING関数を使います。

SUBSTRING(文字列, 開始位置)
SUBSTRING(文字列 FROM 開始位置)
SUBSTRING(文字列, 開始位置, 文字数)
SUBSTRING(文字列 FROM 開始位置 FOR 文字数)

開始位置は、1から始まりです。

SELECT SUBSTRING('ABCDEFGHI' ,5);
+---------------------------+
| SUBSTRING('ABCDEFGHI' ,5) |
+---------------------------+
| EFGHI                     |
+---------------------------+

SELECT SUBSTRING('アイウエオ' FROM 4);
+-------------------------------------+
| SUBSTRING('アイウエオ' FROM 4)      |
+-------------------------------------+
| エオ                                |
+-------------------------------------+

SELECT SUBSTRING('123456',2,3);
+-------------------------+
| SUBSTRING('123456',2,3) |
+-------------------------+
| 234                     |
+-------------------------+

SELECT SUBSTRING('あいうえお', -2);
+----------------------------------+
| SUBSTRING('あいうえお', -2)      |
+----------------------------------+
| えお                             |
+----------------------------------+

SELECT SUBSTRING('かきくけこさしすせそ', -5, 3);
+----------------------------------------------------+
| SUBSTRING('かきくけこさしすせそ', -5, 3)           |
+----------------------------------------------------+
| さしす                                             |
+----------------------------------------------------+