COALESCE

返回列表中第一个非空表达式的值。如果所有表达式的求值均为 NULL,则 COALESCE 返回 NULL。

COALESCE 符合 ANSI SQL-92 标准。

行为类型

不可变

语法

COALESCE ( { * | expression[,...] } )

参数

* | expression[,...]
以下几项之一:
  • * (星号)

    对查询表中的所有列进行求值。

  • 表达式

    任何数据类型的表达式。expression 中包含的函数必须具有确定性。

示例

COALESCE 返回从表 lead_vocalists 查询的每一行中的第一个非空值。请注意,在第一行中,COALESCE 返回空字符串。

=> SELECT quote_nullable(fname)fname, quote_nullable(lname)lname,
     quote_nullable(coalesce (fname, lname)) "1st non-null value" FROM lead_vocalists ORDER BY fname;
  fname  |   lname   | 1st non-null value
---------+-----------+--------------------
 ''      | 'Sting'   | ''
 'Diana' | 'Ross'    | 'Diana'
 'Grace' | 'Slick'   | 'Grace'
 'Mick'  | 'Jagger'  | 'Mick'
 'Steve' | 'Winwood' | 'Steve'
 NULL    | 'Cher'    | 'Cher'
(6 rows)

另请参阅