📅  最后修改于: 2023-12-03 15:30:02.139000             🧑  作者: Mango
COALESCE 是一种常用的 SQL 函数,用于返回参数列表中第一个非 NULL 的表达式。如果参数列表中所有表达式都为 NULL,则 COALESCE 返回 NULL。COALESCE 可以用于任何 SQL 表达式。
COALESCE 函数的语法如下:
COALESCE(expr1, expr2, ..., expr_n)
其中 expr1
到 expr_n
是可选的表达式,可以是任何 SQL 表达式。
以下是使用 COALESCE 函数的示例:
SELECT COALESCE(NULL, 'hello', 'world'); -- 返回 'hello'
SELECT COALESCE(NULL, NULL, 'world'); -- 返回 'world'
SELECT COALESCE(NULL, NULL, NULL); -- 返回 NULL
在第一个示例中,COALESCE 返回第一个非 NULL 的表达式,即 'hello'。在第二个示例中,COALESCE 返回 'world',因为前两个表达式都为 NULL。在第三个示例中,COALESCE 返回 NULL,因为所有表达式都为 NULL。
COALESCE 还可以用于重构查询语句。例如,以下查询语句使用 COALESCE 重构了 if-else 分支逻辑:
SELECT COALESCE(customer_name, 'unknown') AS name,
COALESCE(customer_address, 'unknown') AS address,
COALESCE(customer_phone, 'unknown') AS phone
FROM customers;
在上面的示例中,如果 customer_name
、customer_address
和 customer_phone
都为 NULL,则 COALESCE 返回字符串 'unknown',将其作为结果集中的相应列的值。
COALESCE 是 SQL 中一个非常有用的函数,可以用于返回参数列表中第一个非 NULL 的表达式。COALESCE 还可以用于重构查询语句,简化 if-else 分支逻辑。