如果在查询中找不到匹配项,如何显示默认值?

时间:2011-11-20 08:56:02

标签: sql oracle coalesce

我想在没有从查询中获取数据时显示默认消息。

例如 我们来一个查询

  

从员工中选择empname,其中id = 100

如果没有数据与此搜索匹配,我希望得到Unavailable,或者显示所需的结果。

那么我应该如何编写SQL查询来实现这一目标。

我正在使用Oracle 10g。

1 个答案:

答案 0 :(得分:19)

SELECT COALESCE((SELECT empname FROM employee WHERE id = 100), 'Unavailable')
FROM   DUAL;

您必须将SELECT包装到另一个SELECT中,否则将不会返回任何行。如果没有行,就没有价值。