您可以使用 IS NULL 搜索条件将列值与 NULL 进行比较,并根据比较结果选择列值或执行特定的操作。只有返回值 TRUE 的列才被选中或引发指定的操作;那些返回 FALSE 或 UNKNOWN 的列不会被选中,也不引发指定的操作。
以下示例仅选择 UnitPrice 小于 $15 或者为 NULL 的行:
SELECT Quantity, UnitPrice FROM Products WHERE UnitPrice < 15 OR UnitPrice IS NULL; |
任何值与 NULL 的比较结果都是 UNKNOWN,这是因为不能确定 NULL 是等于(或不等于)给定的值还是等于(或不等于)另一个 NULL。
有些条件从不返回 TRUE,因此使用这些条件的查询不会返回结果集。例如,永远无法确定以下比较为 TRUE,这是因为 NULL 表示具有未知值:
WHERE column1 > NULL |
此逻辑还适用于在 WHERE 子句中使用两个列名(即连接两个表)的情况。包含条件 WHERE column1 = column2
的子句不返回列中包含 NULL 的行。
您还可以使用这些模式查找 NULL 或非 NULL:
WHERE column_name IS NULL |
WHERE column_name IS NOT NULL |
例如:
WHERE advance < $5000 OR advance IS NULL |
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |