我想检查where条款中的两个条件。oracle查询中的IF语句(不是PL/SQL)?
请看下面的例子。
where .... and (
(x = y and flag = 'N') or if(x<>y) flag = 'Y')
我想这是在一个oracle sql语句中完成的。我不能创建一个程序。
编辑: 我重新构建了查询。 flag 'Y'
仅在x not equal to Y
时才被选中。
我想检查where条款中的两个条件。oracle查询中的IF语句(不是PL/SQL)?
请看下面的例子。
where .... and (
(x = y and flag = 'N') or if(x<>y) flag = 'Y')
我想这是在一个oracle sql语句中完成的。我不能创建一个程序。
编辑: 我重新构建了查询。 flag 'Y'
仅在x not equal to Y
时才被选中。
where .... and ((x = y and flag ='N') or (x<>y and flag ='Y'))
尝试这个......
谢谢你的问题。我编辑了这个问题。我的要求是另一回事,最初我没有正确理解。 – Freakyuser
@Freakyuser:这是您的要求的答案 –
where .... and flag = case when x = y then 'N' else 'Y' end
这不只是'..和((X = Y和标志等 'N')或(如果x <> y和国旗像'Y'))'? – user2864740
是,删除如果,回答你的问题,像在你的语句是一个等于操作。 –
以前对于错误的问题抱歉。我不确定我的要求。 – Freakyuser