IS NULL 探索条件を使用すると、カラム値を NULL と比較したり、その比較の結果に基づいてカラム値を選択したりするなど、特定の動作を実行できます。TRUE の値を返すカラムだけが、選択されたり、結果として指定の動作を行ったりします。FALSE や UNKNOWN を返すカラムの場合、そういうことはありません。
次の例では、UnitPrice が $15 未満または NULL のローだけを選択します。
SELECT Quantity, UnitPrice FROM Products WHERE UnitPrice < 15 OR UnitPrice IS NULL; |
NULL が指定の値や別の NULL に等しいか (または等しくないか) わからないので、NULL 比較の結果はすべて UNKNOWN になります。
true を決して返さない条件があり、そうした条件を使用するクエリは結果セットを返しません。たとえば、NULL は不定の値があるという意味であるため、次の比較は決して true とは見なされません。
WHERE column1 > NULL |
WHERE 句でカラム名を 2 つ使用する場合、つまり 2 つのテーブルをジョインする場合にも、この論理は適用されます。条件WHERE column1 = column2
を含む句は、カラムに NULL が含まれるローを返しません。
次のパターンで NULL や NOT NULL も検索できます。
WHERE column_name IS NULL |
WHERE column_name IS NOT NULL |
次に例を示します。
WHERE advance < $5000 OR advance IS NULL |
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |