oracle 如何查询在一个日期区间的中的数据?

现要做报表,要查出在当天所处的日期区间的某些数据,sql语句该怎么写?就是说无法直接输入日期,日期得在其他表的startdate和enddate中获得。... 现要做报表,要查出在当天所处的日期区间的某些数据,sql语句该怎么写?
就是说 无法直接输入日期,日期得在其他表的start date 和 end date 中获得。
展开
 我来答
sky496967173
2015-10-26 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4060
采纳率:80%
帮助的人:594万
展开全部
oracle 查询日期区间内的数据一般最常用的就是between and 和>=,<=(或者不要等号)了;
举例:select * from tablename t where t.日期列 between to_date('2015-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2015-10-20 23:59:59','yyyy-mm-dd hh24:mi:ss')
或者:
select * from tablename where t.日期列 >= to_date('2015-10-20 00:00:00','yyyy-mm-dd hh24:mi:ss') and t.日期列 <= to_date('2015-10-20 23:59:59','yyyy-mm-dd hh24:mi:ss')
如果要查询开区间的数据只需将>= 和<=改为>和<就行。
hu0829
2012-08-28 · TA获得超过2937个赞
知道大有可为答主
回答量:2251
采纳率:50%
帮助的人:2318万
展开全部
Select * From a
Where Time Between To_Date('20120827080000', 'yyyymmddhh24miss') And To_Date('20120828080000', 'yyyymmddhh24miss')

Select * From a
Where start Date>=To_Date('20120827080000', 'yyyymmddhh24miss') And
end Date=<To_Date('20120828080000', 'yyyymmddhh24miss')
更多追问追答
追问
-,- 看看我的问题补充~谢啦~
追答
Select * From a
Where start Date>=To_Date('20120827080000', 'yyyymmddhh24miss') And
end Date=<To_Date('20120828080000', 'yyyymmddhh24miss')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
壹笙的过客
2012-08-28
知道答主
回答量:18
采纳率:0%
帮助的人:15万
展开全部
select *
from a
where a.time between
(select b.startdate
from b b
where sysdate between startdate and enddate)
and (select b.enddate
from b b
where sysdate between startdate and enddate);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式