見出し画像

[ゆるりと学ぶ]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の文字列関数でした。よかったら参考記事もどうぞ!

▼参考記事



この記事が気に入ったらサポートをしてみませんか?