环境:oracle数据库
我有一个列名为DateOfAct的表,该表属于Date数据类型,包含日期&时间(例如:2015-10-28 21:21:10,2015-10-29 11:09:45)
我需要获取当天的记录20-12-2015从早上12:00:0到晚上23:59:59
select * from my_table
where DateOfAct >= to_date('20-12-2015 00:00:00' , 'dd-mm-yyyy 24HH:MI:SS')
and DateOfAct <= to_date('20-12-2015 23:59:59', 'dd-mm-yyyy 24HH:MI:SS')
下面的代码应该可以解决您的问题:在日期格式中,放入'HH24'而不是'24HH'
select * from my_table
where DateOfAct >= to_date('20-12-2015 00:00:00' , 'dd-mm-yyyy HH24:MI:SS')
and DateOfAct <= to_date('20-12-2015 23:59:59', 'dd-mm-yyyy HH24:MI:SS')
不理解这里的任何问题。。但是你可以用between试试这个。
select *
from my_table
where DateOfAct between to_date('20151220000000','YYYYMMDDHH24MISS')
and to_date('20151220235959','YYYYMMDDHH24MISS');
从早上12:00:00到晚上23:59:59
在您的查询开始日期是to_date('20-12-2015 00:00:00' , 'dd-mm-yyyy 24HH:MI:SS')
-00:00(HH24:mi),如果您希望12:00(HH24:mi)应该是to_date('20-12-2015 12:00:00' , 'dd-mm-yyyy HH24:MI:SS')
select *
from my_table
where DateOfAct between to_date('20-12-2015 12:00:00', 'dd-mm-yyyy HH24:MI:SS')
and to_date('20-12-2015 23:59:59', 'dd-mm-yyyy HH24:MI:SS')
查询可以像一样更改
select * from my_table where trunc(DateOfAct)='20-Dec-2015'
说明:
函数trunc
从日期中删除时间部分,并允许您只比较日期值而不比较时间。