我有一个类似下面的要求,其中"“中的文本是从用户传递过来的
如果用户选择“Tutte le Attività”,则不会对此进行过滤。如果用户选择“Solo Attivitàsenza Impatto EHS”,则JOBPLAN.PRIORITY = null或JOBPLAN.PRIORITY <> 9如果用户选择“Solo Attivitàcon Impatto EHS”,则JOBPLAN.PRIORITY =9
我已经写了以下代码: where条件...
AND (('Tutte le Attività' = (:IMP))
OR ('Solo Attività senza Impatto EHS' = (:IMP) and TAB1.PRI IS NULL OR TAB1.PRI NOT IN ('9'))
OR ('Solo Attività con Impatto EHS' = (:IMP) and TAB1.PRI IN ('9')))其中,IMP是绑定变量。
由于某种原因,第二个条件失败了。
我的代码是正确的吗?
发布于 2017-11-14 19:47:25
AND的优先级高于OR。所以你需要更多的括号:
OR ('Solo Attività senza Impatto EHS' = :IMP
and (TAB1.PRI IS NULL OR TAB1.PRI NOT IN ('9'))
)https://stackoverflow.com/questions/47284904
复制相似问题