我需要有关 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的选项
我想你想要:
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
逻辑,但您只询问了第二个条件。
问题令人困惑。是甲骨文吧?我不完全理解你的问题,但像这样的事情?nvl 与 ISNULL 是 SQL Server 相同。通常,您将它放在列周围。
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%'