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 文字数)
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) | +----------------------------------------------------+ | さしす | +----------------------------------------------------+