where 语句的一个判断怎么根据传入的条件生效

coolzdp 2011-05-05 02:12:28
比如:
SELECT * FROM table1 WHERE ttime >= to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') AND :shegnxiao = 1

shegnxiao是外部的一个变量,就是说当shegnxiao为1时ttime >= to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') 才生效。不过现在这样写不行因为后面还有其它判断条件
该怎么写请赐教~~~~
...全文
88 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jasonzhaos 2011-05-05
  • 打赏
  • 举报
回复
要结合你的业务啊。看看你实际的需要。不过三楼的可行啊
coolzdp 2011-05-05
  • 打赏
  • 举报
回复
有点晕
304的的哥 2011-05-05
  • 打赏
  • 举报
回复

if :shegnxiao=1 then
SELECT * FROM table1
WHERE ttime >= to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
else null
end if;
--
SELECT * FROM table1
WHERE
decode(:shegnxiao,
1,ttime >= to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
null
)
quanhj 2011-05-05
  • 打赏
  • 举报
回复
SELECT * FROM table1 WHERE ( :shegnxiao <> 1
or ttime >= to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss') )
yejihui9527 2011-05-05
  • 打赏
  • 举报
回复
SELECT * FROM table1 WHERE decode(:shegnxiao , 1,ttime,to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')) > = to_date('2011-05-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')

17,377

社区成员

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

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