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.title
是 NULL
,那么 return 并使用 ''
代替。我的理解正确吗?
假设 EMPLOYEE.title
等于 'CEO'
。如果我们将其插入 COALESCE
函数,我们的查询将类似于:
SELECT COALESCE('CEO', '') sub_sector;
如果我们运行它,我们会得到'CEO'
。现在假设 EMPLOYEE.title
是 NULL
。如果我们将其插入 COALESCE
函数,我们的查询将类似于:
SELECT COALESCE(NULL, '') sub_sector;
如果我们 运行 那,我们将得到 ''
因为 COALESCE
return 是其参数列表中的第一个非空值。由于第一个值是 NULL
,它会检查下一个值 ''
,它不是 NULL
,所以它会 return 它。
对于您的查询,如果字段 EMPLOYEE.title
具有 NULL
值,则 COALESCE
函数将 return ''
.
COALESCE
是一个 SQL 函数,return 是其参数中的第一个非 NULL 表达式。所以在下面的语句中...
SELECT USER.user_id,
USER.firstname,
USER.lastname,
...
COALESCE(EMPLOYEE.title, '') title,
...
FROM USER
... 基本上是说如果 EMPLOYEE.title
是 NULL
,那么 return 并使用 ''
代替。我的理解正确吗?
假设 EMPLOYEE.title
等于 'CEO'
。如果我们将其插入 COALESCE
函数,我们的查询将类似于:
SELECT COALESCE('CEO', '') sub_sector;
如果我们运行它,我们会得到'CEO'
。现在假设 EMPLOYEE.title
是 NULL
。如果我们将其插入 COALESCE
函数,我们的查询将类似于:
SELECT COALESCE(NULL, '') sub_sector;
如果我们 运行 那,我们将得到 ''
因为 COALESCE
return 是其参数列表中的第一个非空值。由于第一个值是 NULL
,它会检查下一个值 ''
,它不是 NULL
,所以它会 return 它。
对于您的查询,如果字段 EMPLOYEE.title
具有 NULL
值,则 COALESCE
函数将 return ''
.