本記事では、CANCATなどの関数について解説します。
前回はDELETE文について解説しました。
今回では、SQLで使える便利な関数についてみていきましょう。
SQLの代表的な関数
プログラミング言語における関数とは、一連の処理をまとめて再利用できるようにしたものを指します。
関数を使うことで、特定の処理を簡単に行うことが可能です。
SQLの有名な関数をまとめました。
- CONCAT
- UPPER、LOWER
- 数学関数(MOD,SQRT、POW、ABS)
- 日付関数(CURRENT_DATE、CURRENT_TIME)
これらの関数を使いこなすことで、複雑な処理も簡単に記述することが可能です。
1つ1つの関数の具体的な使い方を紹介しましょう。
なお、今回は『SQL入門編1』で作成したテーブルを使って解説します。『SQL入門編1』で演習用のテーブルを作っていない方は、【SQL入門編1】初心者必見!SQLのクエリの書き方を学ぼうを読んで予め作成してくださいね。
CONCAT
CONCAT関数は、指定した文字列を連結させるために使います。
CONCAT関数の使用例をみていきましょう。
○コード例
SELECT CONCAT("Hello", "World");
○実行結果
上記の例では、「Hello」と「World」という文字列を指定しています。
このようにCONCAT関数に複数の文字列を指定することで、それらの文字列を連結させられます。
今回は「HelloWorld」と表示されていますね。
CONCAT関数の注意点ですか、「NULL」と連結させる場合は、いかなる文字列の場合でも、結果はNULLになります。
○コード例
SELECT CONCAT("Hello", NULL);
○実行結果
上記のコードも結果は「NULL」になっています。
UPPER、LOWER
UPPERは指定した文字列を大文字に変換できる関数です。
○コード例
SELECT UPPER("apple");
○実行結果
上記のコードは「apple」をUPPER関数により「APPLE」に変換しています。
UPPERの他にもLOWERという関数もあります。
LOWERは逆に大文字を小文字に変換できる関数です。
○コード例
SELECT LOWER("APPLE");
○実行結果
上記のコードは「APPLE」をLOWER関数により「apple」に変換しています。
UPPERとLOWERはセットで覚えましょう。
数学関数(MOD,SQRT、POW)
SQLでもPHPやPythonなどの他のプログラミング言語同様に四則演算が行えます。
○コード例
SELECT 1 + 2;
○実行結果
上記のコードではSQL文で足し算を行っていますね。
掛け算ももちろん行うことが可能です。
○コード例
SELECT 2 * 3;
○実行結果
更にSQLで関数を使うことで、複雑な計算を行うこともできます。
たとえば、MODという関数を使うことで、割り算のあまり(余剰)を求めることが可能です。
○コード例
SELECT MOD(5,3);
○実行結果
また、SQRTという関数を使うことで、平方根を求めることが可能です。
○コード例
SELECT SQRT(9);
○実行結果
上記のコードではSQRT関数に「9」を指定しています。
「9」の平方根は「3」なので、「3」が表示されていますね。
また、POWという関数使うことで、「何らかの数字の何乗」を求めることが可能です。
○コード例
SELECT POW(2, 3);
○実行結果
上記のコードではPOWの第一引数に「2」、第二引数に「3」を指定しています。
こうすることで、「2の3乗」の値を求めることが可能です。
他にも、ABSという関数は指定した数値の絶対値を求めることが可能です。
○コード例
SELECT ABS(-2);
○実行結果
上記のコードではABS関数で「-2」の絶対値である「2」を出力しています。
このように、SQLには数多くの便利な数学関数があることを覚えておきましょう。
日付関数(CURRENT_DATE、CURRENT_TIME)
最後に紹介するのが日付関数です。
CURRENT_DATEという関数を使うことで、現在日を求めることが可能です。
○コード例
SELECT CURRENT_DATE;
○実行結果
上記のコードではCURRENT_DATEを使って現在日を出力しています。
また、CURRENT_TIMEという関数を使うと、現在時刻の方を求められます。
○コード例
SELECT CURRENT_TIME;
○実行結果
上記のコードではCURRENT_TIMEを使って現在時刻を出力しています。
まとめ
本記事では、SQLで使える関数ついて解説しました。
CONCATなどの便利な関数がSQLにはあることが、お分かり頂けたかと思います。
これらの関数を覚えておくとSQL単体でできることが増えますよ。
次回は、サブクエリを解説していきます。