如果紧接在 IS 关键字之前的术语指定下列未定义的值之一,则满足该 IS NULL 条件:
反之,如果您使用 IS NOT NULL 运算符,则当 column 包含一个非空的值时,或当紧接在 IS NOT NULL 关键字之前的 expression 求值不为空时,满足该条件。
假设您希望在可包含 NULL 值的列上执行算术计算。您可创建表、将值插入到表内,然后为了数据计算执行一使用将空值转换为 0 的通用的 CASE 表达式的查询:
CREATE TABLE employee (emp_id INT, savings_in_401k INT, total_salary INT); INSERT INTO employee VALUES(1, 5000, 40000); INSERT INTO employee VALUES(2, 0, 40000); INSERT INTO employee VALUES(3, NULL, 100000); SELECT emp_id, savings_in_401k AS employer_match FROM employee WHERE CASE WHEN(savings_in_401k IS NULL) THEN 0 ELSE savings_in_401k END * 0.06 > 0;此示例展示通过使用 CASE 表达式中的 IS NULL,您可为不可计算的条目提供值,因为空不是有效的数值。
如果该列包含空值,或如果该表达式由于包含一个或多个空值而不可求值,则满足 IS NULL 条件。如果您使用 IS NOT NULL 运算符,则当运算对象是不为空的列值,或是求值不为空的表达式时,满足该条件。