oracle 如何查询在一个日期区间的中的数据?
现要做报表,要查出在当天所处的日期区间的某些数据,sql语句该怎么写?就是说无法直接输入日期,日期得在其他表的startdate和enddate中获得。...
现要做报表,要查出在当天所处的日期区间的某些数据,sql语句该怎么写?
就是说 无法直接输入日期,日期得在其他表的start date 和 end date 中获得。 展开
就是说 无法直接输入日期,日期得在其他表的start date 和 end date 中获得。 展开
展开全部
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')
如果要查询开区间的数据只需将>= 和<=改为>和<就行。
举例: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')
如果要查询开区间的数据只需将>= 和<=改为>和<就行。
展开全部
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')
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')
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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);
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);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询