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

现要做报表,要查出在当天所处的日期区间的某些数据,sql语句该怎么写?
就是说 无法直接输入日期,日期得在其他表的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')
如果要查询开区间的数据只需将>= 和<=改为>和<就行。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-28
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')

追问

不是不是 就是你那20120827080000这放的是 start_date ..不能直接写日期

追答

我汗。。。。啥意思啊,start_date 不是个字段吗?里面没数据?

追问

就是说 日期区间 是存在一个日期区间表中的,要先判断 当天处于哪个日期区间,在查询出 该区间中的数据。

追答

这个得有PLSQL了吧
比如
Declare
v_time Data;
Select Sysdate Into v_time From dual;
If v_time>?? Then
...
End

第2个回答  2012-08-28
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);本回答被提问者采纳

oracle 如何查询在一个日期区间的中的数据?
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')或者:...

oracle SQL语句中怎么查询一个月内固定时间段的数据,比如9月1号到10月...
使用Oracle 函数extract(fmt from d)获取日期中的特定部分:select count(*) from table where SQL> select * from table where createdate between to_date('2010-9-1','yyyy-MM-dd') and to_date('2010-10-1','yyyy-MM-dd')and EXTRACT(hour from createdate) between '8:00' and '9...

oracle数据库怎么判断某个时间在一段时间之内
用to_char函数即可。如emp表中数据如下:要查询hiredate的日期为1981年1月1日到1981年5月1日之间的数据,可用如下语句:select * from emp where to_char(hiredate,'yyyy-mm-dd') between '1981-01-01' and '1981-05-01';查询结果:

oracle 用SQL查询一个时间段每天的数据量
按日做汇总啊:select trunc(datecol) 日期,sum(数量) 数量和,count(1) 数据量 from tablex where to_char(datecol,'yyyymm') = '201305' group by trunc(datecol);

oracle里如何查询一段时间内的数据,我拿到的是日期字符串
如果你只是要查询某一天的数据可以这样写and trunc(zxsj) = to_date('"+zxzxConditionBean.getZxsjq()+"','yyyy-mm-dd')"

oracle数据库怎么查询一个月内固定时间段的数据,比如5月1号到5月31号...
--有什么问题可以随时来找我 select * from 表名 where 日期字段>=to_date('2013-05-01 00:00:00','yyyy-mm-dd hh:mi:ss')and 日期字段<=to_date('2013-05-31 06:00:00','yyyy-mm-dd hh:mi:ss')

Oracle一个表存有一个日期段,怎么根据这个日期段获取该段时间的每天一...
create table t1(id int,startdate date,enddate date)insert into t1 values (1,to_date('2014-07-01','yyyy-mm-dd'),to_date('2014-07-03','yyyy-mm-dd'));insert into t1 values (2,to_date('2014-08-04','yyyy-mm-dd'),to_date('2014-08-05','yyyy-mm-dd'));insert ...

Oracle数据库 sql高手请进来:取出某段时间段内,时间中天数连续的...
直接用查询就可以得到你要的结果:select ID,NAME,VISIT_TIME from ( select ID,NAME,VISIT_TIME ,CNT ,max(CNT) over () MX from ( select ID,NAME,VISIT_TIME ,count(MINDATE) over (partition by MINDATE) CNT from ( select ID,NAME,VISIT_TIME ...

oracle 查询在一个表中两个日期相等
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')或者:...

怎么查询一个区域一个月的网签量
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')或者:...

相似回答