1. CONCAT - 文字列を連結
SELECT CONCAT('Ma', 'ria', 'DB'); – 'MariaDB'
引数はいくつでもOK。ちなみに、「–」はSQLのコメント記法。
2. SUBSTRING - 文字列を指定した位置で切り出し
上は標準SQL。下はMySQL独自。
・前から6番目以降の文字列を取得
SELECT SUBSTRING('Knowledgebase' FROM 5); – 'edgebase'
SELECT SUBSTRING('Knowledgebase',5); – 'edgebase'
・前から3番目以降、7文字を取得
SELECT SUBSTRING('Knowledgebase',FROM 3, FOR 7); – 'wledgeb'
SELECT SUBSTRING('Knowledgebase',3,7); – 'wledgeb'
3. SUBSTRING_INDEX - 文字列を分割
第一引数の文字列を、第二引数のデリミタで分割し、第三引数の値より前の文字列を返す。第三引数を負の数にすると後ろからになる。
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', 1); – 'kb'
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', 2); – 'kb.askmonty'
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', 3); – 'kb.askmonty.org'
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', -1); – 'org'
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', -2); – 'askmonty.org'
SELECT SUBSTRING_INDEX('kb.askmonty.org', '.', -3); – 'kb.askmonty.org'
4. RIGHT/LEFT - 右/左から指定文字列を返す
SELECT RIGHT('MariaDB', 2); – 'DB'
SELECT LEFT('MariaDB', 2); – 'Ma'
5. UPPER/LOWER - 文字列を全部大文字/小文字に変換
SELECT UPPER('MariaDB'); – 'MARIADB'
SELECT LOWER('MariaDB'); – 'mariadb'
6. TRIM - 与えた文字列の前後から空白を除去
SELECT TRIM(' hoge '); – 'hoge'
7. LENGTH/CHAR_LENGTH - 与えた文字列のバイト数/文字数を返す
SELECT LENGTH('MariaDB'); – 7
SELECT LENGTH('マリア'); – 9
SELECT CHAR_LENGTH('MariaDB'); – 7
SELECT CHAR_LENGTH('マリア'); – 3
8. CAST - 文字列を指定した型に変換
SELECT CAST('2013-07-02 00:00:00' AS DATE);
9. LOCATE - 検索文字列の出現位置を取得
SELECT LOCATE('bar', 'foobarbar'); – 4
10. REPLACE - 文字列置換
SELECT REPLACE('www.mariadb.org', 'w', 'Ww'); – 'WwWwWw.mariadb.org'