この投稿では、MySQLCOALESCEとNULLIF関数について説明します。 MySQLCOALESCEの例とNULLIFMySQL関数の例も示します
MySQLCOALESCE関数
MySQLのCOALESCEは、値のリストから最初にnull以外の値を選択するための非常に便利な関数です
構文
COALESCE(val1、val2、val3、…valn)
上記の構文は、次のIF-THEN-ELSEステートメントと同等です
IF val1 is not NULL THEN val1
ELSIF val2 is not NULL THEN val2
ELSIF val3 is not NULL THEN val3
ELSE NULL;
END IF
これもケース式と同等です
Case
when val1 is not NULL then val1
when val2 is not NULL then val2
when val3 is not NULL then val3
else NULL
end
使用法
以下はCOALESCE関数の例です
mysql> select COALESCE(1,2,3,null);
+----------------------+
| COALESCE(1,2,3,null) |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
mysql> select COALESCE(null,null,'a','b',null);
+----------------------------------+
| COALESCE(null,null,'a','b',null) |
+----------------------------------+
| a |
+----------------------------------+
1 row in set (0.00 sec)
mysql> select COALESCE(null、null、null);
+ ————————– +
| COALESCE(null、null、null)|
+ ————————– +
| NULL |
+ ————————– +
1行セット(0.00秒)
従業員mobile_number、office_number、およびhome_numberを含むテーブルEMPがあるとします。これらのフィールドのいずれにもnull値が含まれている可能性があります。ここで、null値の場合、優先度mobile_number>office_number>home_numberで電話を選択します。したがって、以下の合体ステートメントを使用できます
select emp_name, coalesce(mobile_number,office_number,home_number) contact_no from emp;
MySQLNULLIF関数
MySQLのNullif関数は、2つの値を比較し、同じ場合はnullを、同じでない場合はval1を指定するのに非常に便利な関数です。
NULLIF(val1、val2)
使用法
以下は、NULLIFステートメントの例です。
mysql> select nullif(1,2);
+ ————- +
| nullif(1,2)|
+ ————- +
| 1 |
+ ————- +
1行セット(0.00秒)
mysql> select nullif(2,1);
+ ————- +
| nullif(2,1)|
+ ————- +
| 2 |
+ ————- +
1行セット(0.00秒)
mysql> select nullif(1,1);
+-------------+
| nullif(1,1) |
+-------------+
| NULL |
+-------------+
1 row in set (0.00 sec)
MySQLデータベースCOALESCEおよびNULLIF関数に関するこの投稿がおもしろくて役立つことを願っています。改善するためにフィードバックを提供してください
関連記事
WindowsにMySQLをインストールするためのステップバイステップガイド
自動インクリメント列–OracleおよびMySQLのデフォルト値としてのシーケンス
トップ51のよくあるMySQLインタビューの質問と回答
ビルドするためのステップバイステップガイドWindows上のローカルApachePHPMySQL開発環境
MySQLルートパスワードをリセットする方法