MySQL の UPPER()・LOWER()
ここでは MySQL のよく使う文字列関数の UPPER() と LOWER() 関数についてご説明します。
MySQL の UPPER() 関数の使い方
MySQL の UPPER() 関数は、引数として渡した文字列を、大文字に変換した文字列を返す関数です。
UPPER(文字列)
文字列が NULL の時は NULL が返ります。
UCASE() は UPPER() のシノニムなので、UCASE() を使っても同じ結果になります。
シノニム (synonym) とは、他のデータベースオブジェクトにつけた別名のことで、その別名を使って元のオブジェクトにアクセスすることができます。
それでは、UPPER() 関数を使って、文字列を大文字に変換してみます。
SELECT UPPER('abcde'),
UPPER('hello'),
UPPER('Apple'),
UPPER('TEST');
[実行結果]
文字列が全て大文字に変換されています。
MySQL の LOWER() 関数の使い方
MySQL の LOWER() 関数は、引数として渡した文字列を、小文字に変換した文字列を返す関数です。
LOWER(文字列)
文字列が NULL の時は NULL が返ります。
LCASE() は LOWER() のシノニムなので、LOWER() を使っても同じ結果になります。
先ほどと同じクエリーを、LOWER() 関数に変えて、小文字に変換した文字列を取得してみます。
SELECT LOWER('abcde'),
LOWER('hello'),
LOWER('Apple'),
LOWER('TEST');
[実行結果]
文字列が全て小文字に変換されています。
MySQL で一文字目だけ大文字にして、残りの文字を小文字にする方法
文字列の一文字目だけ大文字にして、残りの文字を小文字にしたいことがあるかもしれません。
そんな時は UPPER() と LOWER()を使って変換することができます。
例えば、japan と TOYOTA いう文字列の一文字目だけを大文字にして、残りを小文字にするクエリーは次の通りです。
SET @str1 = 'japan';
SET @str2 = 'TOYOTA';
SELECT CONCAT(UPPER(LEFT(@str1, 1)), LOWER(SUBSTRING(@str1, 2))),
CONCAT(UPPER(LEFT(@str2, 1)), LOWER(SUBSTRING(@str2, 2)));
[実行結果]
LEFT(@str1, 1) で一番左の一文字を取得し、UPPER() で大文字に変換しています。
SUBSTRING(@str1, 2) で 2 文字目から最後までの文字列を取得し、LOWER() で小文字に変換しています。
それらを CONCAT() でつなげることによって、一文字目が大文字で、残りの文字が小文字の文字列を取得しています。
japan は Japan に、TOYOTA は Toyota になっていますね。
以上、MySQL の UPPER() と LOWER() 関数についてご説明しました。