[ゆるりと学ぶ]SQLの文字列関数【超初心者向け】[抽出編その7]
文字列の連結や抽出、変換などを行うには文字列関数を利用します
■ 2 つ以上の文字列を結合
CONCAT(str1,str2,...)
※引数のいずれかかが NULL である場合、NULL を返す
SELECT CONCAT('My', 'S', 'QL');
->結果 'MySQL' と表示
SELECT CONCAT('My', NULL, 'QL');
->結果 NULL と表示
▼カンマ区切りで文字列を結合することも可能
CONCAT_WS(separator,str1,str2,...)
#カンマ区切り
SELECT CONCAT_WS(',','First name','Second name','Last Name');
->結果 'First name,Second name,Last Name'
■文字列の表現を変換
文字セット間でデータが変換が可能
CONVERT(expr,type)
# デフォルトの文字セットの文字列 'abc' → utf8 文字セットの対応する文字列に変換
SELECT CONVERT('abc' USING utf8);
■文字列を小文字に変換
LOWER(str)
# 文字列を小文字に変換
SELECT LOWER('WOW WOW TONIGHT');
->結果 'wow wow tonight'
■文字列を大文字に変換
UPPER(str)
# 文字列を大文字に変換
SELECT UPPER('wow wow tonight');
->結果 'WOW WOW TONIGHT'
■文字列の一部を抽出
SUBSTRING(str,pos)
※文字列内の最初の文字の位置が 1 となります
#5文字目から最後まで抽出
SELECT SUBSTRING('wowwowtonight',5);
->結果 'owtonight'
#4文字目から最後まで抽出
SELECT SUBSTRING('wowwowtonight' FROM 4);
->結果 'wowtonight'
#5文字目から6文字抽出
SELECT SUBSTRING('wowwowtonight',5,6);
->結果 'owtoni'
#後ろから3文字目から最後まで抽出
SELECT SUBSTRING('wowwowtonight', -3);
->結果 'ght'
#後ろから5文字目から3文字抽出
SELECT SUBSTRING('wowwowtonight', -5, 3);
->結果 'nig'
#後ろから4文字目から3文字抽出
SELECT SUBSTRING('wowwowtonight' FROM -4 FOR 2);
->結果 'ig'
■文字列の前後から指定した文字を削除
TRIM([remstr FROM] str)
#空白を削除
SELECT TRIM(' sql ');
->結果 'sql'
#前方一致の x を削除
SELECT TRIM(LEADING 'x' FROM 'xxxsqlxxx');
->結果 'sqlxxx'
#前方、後方、両方の x を削除
SELECT TRIM(BOTH 'x' FROM 'xxxsqlxxx');
->結果 'sql'
#特定の文字列を削除
SELECT TRIM(TRAILING 'xyz' FROM 'sqlxxyz');
->結果 'sqlx'
いかがでしたでしょうか。今回はSQLの文字列関数でした。よかったら参考記事もどうぞ!
▼参考記事
この記事が気に入ったらサポートをしてみませんか?