当选择0行时,需要oracle sql返回1行

时间:2012-05-01 19:18:07

标签: sql oracle10g oracle11g

我在编写oracle sql时遇到了麻烦。当我的sql返回0行时,我需要它返回“empty”而不是返回0行。例如,

select name from employee where id=1;

结果:

0 rows selected

我需要它像这样返回:

Empty

选择了1行

由于db中没有这样的记录,有没有办法做到这一点?我确实需要它返回一个值。谢谢!

2 个答案:

答案 0 :(得分:5)

select name 
from employee 
where id=1
union all
select 'Empty'
from dual
where not exists (select 1 from employee where id=1)

答案 1 :(得分:2)

<强>已更新

 SELECT NVL((select name from employee where id=1), 'Empty') name from dual

谢谢@Samual的想法!!