MySQL COALESCE 有两个参数?

MySQL COALESCE with two arguments?

COALESCE 是一个 SQL 函数,return 是其参数中的第一个非 NULL 表达式。所以在下面的语句中...

SELECT USER.user_id, 
        USER.firstname, 
        USER.lastname, 
        ...
        COALESCE(EMPLOYEE.title, '') title, 
        ...
FROM USER

... 基本上是说如果 EMPLOYEE.titleNULL,那么 return 并使用 '' 代替。我的理解正确吗?

假设 EMPLOYEE.title 等于 'CEO'。如果我们将其插入 COALESCE 函数,我们的查询将类似于:

SELECT COALESCE('CEO', '') sub_sector;

如果我们运行它,我们会得到'CEO'。现在假设 EMPLOYEE.titleNULL。如果我们将其插入 COALESCE 函数,我们的查询将类似于:

SELECT COALESCE(NULL, '') sub_sector;

如果我们 运行 那,我们将得到 '' 因为 COALESCE return 是其参数列表中的第一个非空值。由于第一个值是 NULL,它会检查下一个值 '',它不是 NULL,所以它会 return 它。

对于您的查询,如果字段 EMPLOYEE.title 具有 NULL 值,则 COALESCE 函数将 return ''.