帮忙看看这个sql语句有没有更好的写法(选择执行where条件后的语句),期待各位的回帖 本帖最后由 zhangyyy_10 于 2012-12-04 14:15:51 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select case when 2 = 1 then (select 1 from dual where to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03') when 2 = 2 then (select 1 from dual where ivg_frm_id = 100012) end case from dual你这个查出来结果,要么是1要么是null..貌似就是看满足to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03') 的条件存不存在。。你可以用子查询,去查满足条件的数据是否存在。。也可以用存储过程 忘了写了。。上面的是。。子查询exists..语句 估计你没看清楚我的问题,我需要在when后面传参数,根据参数,执行sql的某一部分,实现过滤 上面写的应该等同于exists语句,只不过用case做了分支处理,想要代码顺序清楚些,可以用存储过程,如果非要写一个sql语句的话,似乎怎么写都大同小异。 不了解你的具体需求啊,怎么写呢?就根据上面那个sql语句?这不是简单翻译一下就可以,最好有具体的东西,希望改成存储过程的话,还可以考虑一下。 请教oracle存储过程 Oracle 9 和 Oracle 10 的兼容性 的问题 问个简单的问题,求助!!!!!!!!!!!!!!!!!!!!!!!! mysql 数据库写入速度慢 请教:win2k连接linux7.2下的oracle920的问题 高手请进 数据倒入问题 请问用BDE访问oracle9.0 散分喽 xp下805默认装服务器,用sql连报no listener,只是想在本机上做实验 Oracle配置的问题--修改了服务器名称之后 Oracle函数,按分隔符截取字符串 oracle如何查询大于当前日期的数据(当前日期取0点)
select case
when 2 = 1 then
(select 1 from dual where to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03')
when 2 = 2 then
(select 1 from dual where ivg_frm_id = 100012)
end case from dual你这个查出来结果,要么是1要么是null..貌似就是看满足to_char(rqst_datetime,'yyyy-mm-dd')= '2012-12-03') 的条件存不存在。。
你可以用子查询,去查满足条件的数据是否存在。。也可以用存储过程
估计你没看清楚我的问题,我需要在when后面传参数,根据参数,执行sql的某一部分,实现过滤