我试图找出当结果集为空时如何返回常量。
实施例
查询将是:
select employee_id from employee where name = 'John_Doe';
对于这种情况,John Doe在系统中不存在。而不是返回一个空集,我怎么能返回一个常量,例如数字0?我已经看过案例陈述的内容,但我不确定如何实现它。
感谢您的帮助。
答案 0 :(得分:5)
当我遇到总是返回一行的问题时,我经常使用聚合。如果没有匹配,以下内容将返回NULL
:
select max(employee_id)
from employee
where name = 'John_Doe';
以下返回0:
select coalesce(max(employee_id), 0)
from employee
where name = 'John_Doe';