以下是我查询记录的查询:
select * from ProductTracker where EventDate >= TO_DATE( '01/01/2016','MM/DD/YYYY')
AND EventDate <= TO_DATE( '11/18/2016','MM/DD/YYYY');
此查询将显示日期01/01/2016至2016年11月18日00:00:00的结果 AS此查询仅在时间为00:00:00时有效。使用MM / DD / YYYY的TO_DATE生成时间为00:00:00的日期。所以我不会得到日期类似于11/18/2016 11:50:00 PM的记录 有什么方法可以得到所有结果?
答案 0 :(得分:1)
首先,使用ISO标准日期格式。然后你可以这样做:
select pt.*
from ProductTracker pt
where EventDate >= DATE '2016-01-01' AND
EventDate < (DATE '2016-11-18') + 1
如果您愿意,也可以说+ interval '1' day
。
答案 1 :(得分:0)
您可以选择日期少于第二天的地方:
select * from ProductTracker
where EventDate >= TO_DATE( '01/01/2016','MM/DD/YYYY')
AND EventDate < TO_DATE( '12/18/2016','MM/DD/YYYY');
或以格式使用小时:
select * from ProductTracker
where EventDate >= TO_DATE( '01/01/2016','MM/DD/YYYY')
AND EventDate < TO_DATE( '11/19/2016 00:00','MM/DD/YYYY hh24:mi');
答案 2 :(得分:0)
select * from ProductTracker
where trunc(EventDate) >= TO_DATE( '01/01/2016','MM/DD/YYYY')
AND trunc(EventDate) <= TO_DATE( '11/18/2016','MM/DD/YYYY')
答案 3 :(得分:0)
以下查询工作正常:
Select * from ProductTracker where
EventDate >= TO_DATE('01/01/2016','MM/DD/YYYY')
AND EventDate < TO_DATE( '11/18/2016 23:59:59 ','MM/DD/YYYY hh24:mi:ss');
感谢大家的qiwk回复。