这是一个简单的问题,我已经阅读了关于在WHERE
子句中使用CASE
的一些详细信息,但无法清楚地知道如何使用它。以下是我的示例查询:Oracle case where where子句
1 SELECT * FROM dual
2 WHERE (1 =1)
3 AND (SYSDATE+1 > SYSDATE)
4 AND (30 > 40)
5 AND (25 < 35);
我有一个过程i_value
作为参数。 如果i_value是'S',我需要忽略第4行,如果i_value是'T',我需要忽略第5行。
在此先感谢。
这不会按预期工作。因为如果i_value作为'S'传递,那么代码中的第4行结果为0,并且条件失败。所以,整个输出将是没有的。深入了解。 – ajmalmhd04
糟糕 - 我已经更新它来解决这个问题。 (以前有过“AND CASE WHERE 0_ELSE ...”,那么在第4行和第5行都将0更改为1, –
再次看一下;) – ajmalmhd04