oracle查询中的IF语句(不是PL / SQL)?

时间:2014-01-29 04:29:29

标签: sql oracle

我想检查where子句中的两个条件。

请参阅下面的示例。

where .... and (
(x = y and flag = 'N') or if(x<>y) flag = 'Y')

我希望在一个oracle sql语句中完成此操作。我不被允许创建一个程序。

编辑: 我已经重新构建了查询。仅在flag 'Y'时才会检查x not equal to Y

2 个答案:

答案 0 :(得分:2)

where .... and ((x = y and flag ='N') or (x<>y and flag ='Y'))

试试这个......

答案 1 :(得分:0)

where .... and flag = case when x = y then 'N' else 'Y' end