MySQLのNULLIF()関数:引数が等しくない場合の式の評価方法とは?
ご存知のとおり、MySQLのNULLIF()は制御フロー関数の一つで、2つの引数が等しくない場合には最初の引数を返します。このとき最初の引数が返される理由は、両方の引数が等しくないと判断された場合、MySQLが最初の引数を2回評価する仕組みになっているためです。
具体的な使用例
mysql> Select NULLIF('Tutorialspoint','MySQL');
+----------------------------------+
| NULLIF('Tutorialspoint','MySQL') |
+----------------------------------+
| Tutorialspoint |
+----------------------------------+
1 row in set (0.00 sec)上記の例では、渡された2つの引数「'Tutorialspoint'」と「'MySQL'」が一致していないため、MySQLは最初の引数である'Tutorialspoint'を2回評価したうえで、その値を出力として返しています。仮に2つの引数が完全に一致していた場合は、NULLが返される点にも注意してください。
NULLIF()の内部動作とCASE式との関係
実は、NULLIF(式1, 式2) の動作は、次のCASE式と論理的に同等です。
CASE WHEN 式1 = 式2 THEN NULL ELSE 式1 END
つまり、2つの引数が等しければNULLを返し、等しくなければ最初の引数の評価結果をそのまま返すという挙動になります。引数が異なるケースでは最初の引数が二度評価されるため、計算コストの高い式や副作用を伴う式を渡す場合には、この評価方法を理解しておくことが重要です。
-
Windows 10で「等しくない(≠)」記号を入力する4つの方法
さまざまな特殊文字の入力方法を知っていることは、場面によって非常に重要です。等号(=)は数学、プログラミング、HTML編集、さらには日常のやり取りの中でも使われる基本的な記号ですが、GoogleスプレッドシートやExcelのような表計算ツールで数式を作成する際にも欠かせません。一方で「等しくない」ことを表す記号(≠)は、OSやアプリケーションによって入力方法が異なり、やや扱いづらい記号です。この記事では、Windows 10でWordに不等号(≠)を入力する方法を詳しく解説します。 Windows 10で「等しくない」記号(≠)を入力する方法 等号(=)はよく知られた記号で、キーボードに専用
-
不等号(≠)の入力方法まとめ – Windows・Mac・スマホ・HTML対応ガイド
「等しくない」ことを表す記号「≠」は、標準的なキーボードには搭載されていないか、かなり奥まった場所に隠されていることが多い記号です。では、必要なときにどうやって入力すればよいのでしょうか?この記事では、PCからスマートフォンまで、さまざまな環境での≠の入力方法をわかりやすく解説します。デスクトップPCで不等号(≠)を入力する方法Windowsの場合:文字コード表(Character Map)を使うWindowsに標準搭載されている「文字コード表」は、あらゆる文字を選択できる便利なユーティリティです。文字コード表を開くには、「スタート」ボタンをクリックし、「プログラム」→「アクセサリ」→「システ