COALESCE
是一个SQL函数,它返回其参数中的第一个非NULL表达式。所以在下面的陈述中......
SELECT USER.user_id,
USER.firstname,
USER.lastname,
...
COALESCE(EMPLOYEE.title, '') title,
...
FROM USER
...基本上说如果EMPLOYEE.title
为NULL
,则返回并使用''
代替。我的理解是否正确?
答案 0 :(得分:1)
让我们说EMPLOYEE.title
等于'CEO'
。如果我们将其插入COALESCE
函数,我们的查询将类似于:
SELECT COALESCE('CEO', '') sub_sector;
如果我们运行它,我们会得到'CEO'
。现在让我们说EMPLOYEE.title
是NULL
。如果我们将其插入COALESCE
函数,我们的查询将类似于:
SELECT COALESCE(NULL, '') sub_sector;
如果我们运行它,我们将获得''
,因为COALESCE
返回其参数列表中的第一个非空值。由于第一个值为NULL
,因此它会检查下一个值''
,而不是NULL
,因此它会返回它。
如果是您的查询,如果字段EMPLOYEE.title
的值为NULL
,则COALESCE
函数将返回''
。