ISNULL
返回列表中第一个非空表达式的值。
ISNULL 为 NVL 的别名。
行为类型
不可变语法
ISNULL ( expression1 , expression2 );
参数
-
如果 expression1 为 NULL,则 ISNULL 返回 expression2。
-
如果 expression1 不为 NULL,则 ISNULL 返回 expression1。
注意
-
COALESCE 为更标准、更通用的函数。
-
ISNULL 等同于 COALESCE,但 ISNULL 仅通过两个实参调用。
-
ISNULL(a,b)
与x IS NULL
不同。 -
实参可以包含 Vertica 支持的所有数据类型。
-
实施等同于 CASE 表达式。例如:
CASE WHEN expression1 IS NULL THEN expression2 ELSE expression1 END;
-
以下语句返回值 140:
SELECT ISNULL(NULL, 140) FROM employee_dimension;
-
以下语句返回值 60:
SELECT ISNULL(60, 90) FROM employee_dimension;
示例
SELECT product_description, product_price,
ISNULL(product_cost, 0.0) AS cost
FROM product_dimension;
product_description | product_price | cost
--------------------------------+---------------+------
Brand #59957 wheat bread | 405 | 207
Brand #59052 blueberry muffins | 211 | 140
Brand #59004 english muffins | 399 | 240
Brand #53222 wheat bread | 323 | 94
Brand #52951 croissants | 367 | 121
Brand #50658 croissants | 100 | 94
Brand #49398 white bread | 318 | 25
Brand #46099 wheat bread | 242 | 3
Brand #45283 wheat bread | 111 | 105
Brand #43503 jelly donuts | 259 | 19
(10 rows)