根据日期查询
日期查询是相对常见的查询了,一般查询都是查询时间段内的数据(某天、某小时、几号~几号 等等),即使指定了时分秒如“2016-5-4 15:14:53”这么一个看上去是时间点的数据,仍然也是时间段,它是指“2016-5-4 15:14:53 000”到“2016-5-4 15:14:53 999”这1秒时间段内的数据。
日期查询有下面的方面和注意点:
1. 查询5月1日到5月4日这4天的所有记录,使用>=和<=进行
SELECT T.ID,T.name
FROM T_Tabel T
WHERE 1=1
AND T.Date_field >= to_date('2016-05-01', 'yyyy-mm-dd')
AND T.Date_field <= to_date('2016-05-04', 'yyyy-mm-dd')
2. 查询5月1日到5月4日这4天的所有记录,使用Between ……AND进行
SELECT T.ID,T.name
FROM T_Tabel T
WHERE 1=1
AND T3.REPAY_PAYDATE Between to_date('2016-05-01', 'yyyy-mm-dd') AND to_date('2016-05-04', 'yyyy-mm-dd')
3. 查询5月1日这1天的所有数据,使用
去尾函数trunc() 函数
select ID,Query_DATE
from T_Table
where 1=1
AND trunc(Query_DATE) = trunc(to_date('2016-05-04','yyyy-mm-dd'))
4. 查询5月1日这1天的所有数据,不使用trunc()函数
select ID,Query_DATE
from T_Table
where 1=1
AND L.Query_DATE <= to_date('2016-05-04 23:59:59','yyyy-mm-dd hh24:mi:ss')
AND L.Query_DATE >= to_date('2016-05-04 00:00:00','yyyy-mm-dd hh24:mi:ss')
特注:示例3与示例4的区别在于:
如果使用去尾函数trunc(),则日期格式为:'yyyy-mm-dd' 。而不使用该函数时,日期格式应该为 :'yyyy-mm-dd hh24:mi:ss' 。