有没有办法使用 IF 仅在未完成输入时才显示 NULL 值

  • 本文关键字:显示 NULL 未完成 IF 有没有 sql
  • 更新时间 :
  • 英文 :


我需要有关 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%'

最新更新