oracle中where条件后输入条件为空的if,else语句
selectfacfromnew_plwherefac='"+txt_fac+"'现在txt_fac为空,执行fac=txt_fac;不为空执行,facin(select...
select fac from new_pl where fac = '"+txt_fac+"'
现在 txt_fac 为空,执行fac=txt_fac;不为空执行 ,fac in (select *from table )。请问用oracle怎么写 展开
现在 txt_fac 为空,执行fac=txt_fac;不为空执行 ,fac in (select *from table )。请问用oracle怎么写 展开
1个回答
展开全部
你是不是描述的有错误?怎么两次都是username不为空?
估计可以有好几个:
1、可以用union all
select * from table where 1=1 and (username is not null and instr(username , '李四') > 0)
union all
select * from table where username is null
2、你写的这个好像or and的逻辑有问题,可以改改
select * from table where 1=1
and ((username is not null and instr(username , '李四') > 0) or (username is null))
理解错误的话请纠正
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询