我真的非常感谢您的帮助我想知道如何在where中设置可选参数
WHERE T.ID_NUM = :ID_NUM OR ASOL.CASE_ID = :CASE_ID
例如:id\u num不能在参数中有任何值,但case\u id在参数中有值id\u num在参数中有值,但case\u id在参数中没有值id\u num在参数中有值,case\u id在参数中有值当我说它没有值时,参数是空的或“未定义”谢谢您
vsmadaxz1#
我想你想要:
WHERE (T.ID_NUM = :ID_NUM OR :ID_NUM IS NULL) AND (ASOL.CASE_ID = :CASE_ID OR :CASE_ID IS NULL)
我猜你真的想要 AND ,不是 OR 在条件之间。
AND
OR
mkshixfv2#
您可以在子句中添加一个nvl函数,如果您在参数中发送一个null值,那么查询将使用第二个comparison,并且第二个comparison始终为true
WHERE T.ID_NUM = NVL(:ID_NUM , T.ID_NUM ) OR ASOL.CASE_ID = NVL(:CASE_ID , ASOL.CASE_ID)
2条答案
按热度按时间vsmadaxz1#
我想你想要:
我猜你真的想要
AND
,不是OR
在条件之间。mkshixfv2#
您可以在子句中添加一个nvl函数,如果您在参数中发送一个null值,那么查询将使用第二个comparison,并且第二个comparison始终为true