oracle日期时间范围查询

Posted daduryi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle日期时间范围查询相关的知识,希望对你有一定的参考价值。

Oracle的日期时间范围查询

字段为:字符串类型(char),长度为:10

SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate >= 2011-06-01 AND t.createdate <= 2011-07-05;

SELECT * FROM testdatetime t WHERE 1=1 AND to_date(t.createdate,‘yyyy-MM-dd‘)
between to_date(‘2011-06-01‘,‘yyyy-MM-dd‘) and to_date(‘20110705‘,‘yyyymmdd‘) ; 

字段为:字符串类型(char),长度为:20 

SELECT * FROM testdatetime t WHERE 1=1 AND t.usedate >= 2011-06-01 AND t.usedate <= 2011-07-05;  
  
SELECT * FROM testdatetime t WHERE 1=1 AND to_date(t.usedate,yyyy-MM-dd HH24:MI:SS)
between to_date(2011-07-01 12:00:00,yyyy-MM-dd HH24:MI:SS) and to_date(20110702 12:00:00,yyyymmdd HH24:MI:SS) ;  

字段为:日期时间类型(date)

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate >= to_date(2011-07-01,yyyy-MM-dd) AND t.startdate <= to_date(2011-07-02,yyyy-MM-dd);  
SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate between to_date(2011-07-01,yyyy-MM-dd) AND to_date(2011-07-02,yyyy-MM-dd); 
SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate = to_date(‘2011-07-01 12:00:00‘,‘yyyy-MM-dd HH24:MI:SS‘); 
SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,‘yyyy-MM-dd‘) = ‘2011-07-01‘;
SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,‘yyyy-MM-dd‘) >= ‘2011-07-01‘ AND to_char(t.startdate,‘yyyy-MM-dd‘) <= ‘2011-07-02‘;  

 







以上是关于oracle日期时间范围查询的主要内容,如果未能解决你的问题,请参考以下文章

在oracle中怎么判断一个日期是不是在一定时间范围内

mysql 如何实现Oracle中的这种日期查询?

使用 oracle SQL 查找日期范围内的星期几

Oracle - 按类别分组,日期范围[重复]

Oracle SQL 循环遍历日期范围

Oracle Query 按另一个表中的每个日期范围对一列求和