MySQL COALESCE有两个参数?

时间:2016-11-22 06:24:39

标签: mysql coalesce

COALESCE是一个SQL函数,它返回其参数中的第一个非NULL表达式。所以在下面的陈述中......

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

...基本上说如果EMPLOYEE.titleNULL,则返回并使用''代替。我的理解是否正确?

1 个答案:

答案 0 :(得分:1)

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

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

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

SELECT COALESCE(NULL, '') sub_sector;

如果我们运行它,我们将获得'',因为COALESCE返回其参数列表中的第一个非空值。由于第一个值为NULL,因此它会检查下一个值'',而不是NULL,因此它会返回它。

如果是您的查询,如果字段EMPLOYEE.title的值为NULL,则COALESCE函数将返回''