条件为空就查询全部记录,不为空就根据条件查询,怎么写sql。

披着虎皮 的石头 2011-10-18 09:46:58
有一个表tab
字段为 a varchar2(50),
b varchar2(50)

现要执行一个查询,传入一个变量v_a,值为null或空值、或有值,
怎么实现如下查询:
当v_a为null或空值时,查询tab表所有记录,
当v_a有值时,查询a=v_a。

可能有很多种写法,求最简单的写法。
...全文
1874 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
noteasytoregister 2011-10-18
  • 打赏
  • 举报
回复 1
select * from tab where a=case when v_a is null or v_a='' then a else v_a end
opps_zhou 2011-10-18
  • 打赏
  • 举报
回复 1


select * from tab where a = v_a or v_a is null or v_a = ''

  • 打赏
  • 举报
回复
要在存储过程中,写sql来完成查询。
threadHe 2011-10-18
  • 打赏
  • 举报
回复
在代码里组建SQL语句可以呀,也不麻烦。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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