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)

另请参阅