我需要有关IF陈述或类似陈述的帮助
这是为了让我从系统中查询查询,但在某些情况下EXP_RCPT_NO没有值,我需要一个代码让我在EXP_RCPT_NO中搜索特定值而不显示空结果,但同时显示当我仅搜索il.lic_no
时为空结果select il.lic_no,
EXP_RCPT_NO
from inv_lic il
where il.lic_no like nvl ('&Licens', '%')
and EXP_RCPT_NO like nvl ('&Order', '%')
如果我删除最下面的行,它将起作用,但随后它将删除搜索EXP_RCPT_NO的选项
答案 0 :(得分:0)
问题令人困惑。是Oracle吗?我不完全理解您的问题,但是类似这样的事情? nvl与SQL Server的ISNULL相同。通常,将其放在您的专栏上。
select il.lic_no,
EXP_RCPT_NO
from inv_lic il
where nvl(il.lic_no, 'Licens') like '%Licens%'
OR nvl(EXP_RCPT_NO, 'Order') like '%Order%'
答案 1 :(得分:0)
我想你想要
select il.lic_no, il.EXP_RCPT_NO
from inv_lic il
where il.lic_no like coalesce('&Licens', '%') and
(il.EXP_RCPT_NO like '&Order' or '&Order' is null);
两种情况下您可能都希望使用or
逻辑,但是您只询问了第二种情况。