求一sql语句!

dongcenphoenix 2005-08-17 11:40:27
在一个table中有field1,field2,field3,用户输入一个数据a,查询的时候当field1不为null时就以field1=a为查询条件,否则当field1为null,field2不为null就以field2=a为查询条件,最后当filed1,field2都为null时就用field3=a为查询条件。
...全文
113 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterfirer 2005-08-17
  • 打赏
  • 举报
回复
还是njhart2003()的简单
waterfirer 2005-08-17
  • 打赏
  • 举报
回复
select * from tablename where (field1=a and field1 is not null) or (field1 is null and field2=a) or (field1 is null and field2 is null and field3=a)
njhart2003 2005-08-17
  • 打赏
  • 举报
回复
select * from table
where nvl(field1,nvl(field2,field3))=a;
heyixiang 2005-08-17
  • 打赏
  • 举报
回复
mark
沝林 2005-08-17
  • 打赏
  • 举报
回复
用COALESCE()函数就可以了:
select * from table where COALESCE(field1,field2,field3) = a;

COALESCE (expr1, expr2, ..., exprn)相当于
CASE WHEN expr1 IS NOT NULL THEN expr1
ELSE COALESCE (expr2, ..., exprn) END


17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧