Datetime SQL中的正确日期范围

Datetime SQL中的正确日期范围,datetime,plsql,Datetime,Plsql,这让我有点偏执,但我正在检索一组记录,这些记录在一段时间内,比如说,从2011年1月1日(午夜开始)到2011年3月31日(所有记录到晚上11:59:59) 我正在使用这个条件 t.logtime between to_date('2011-01-01', 'yyyy-mm-dd') and to_date('2011-03-31') t、 至日期(2011-01-01,yyyy-mm-dd)和至日期(2011-03-31)之间的日志时间 请注意,logtime是一个日期时间字段 这是否反映了我

这让我有点偏执,但我正在检索一组记录,这些记录在一段时间内,比如说,从2011年1月1日(午夜开始)到2011年3月31日(所有记录到晚上11:59:59)

我正在使用这个条件

t.logtime between to_date('2011-01-01', 'yyyy-mm-dd') and to_date('2011-03-31') t、 至日期(2011-01-01,yyyy-mm-dd)和至日期(2011-03-31)之间的日志时间 请注意,logtime是一个日期时间字段

这是否反映了我想要的?还是我真的少了24小时一秒?
我也可以指定时间,但我希望没有它也可以完成。

是的,你几乎错过了最后一天的全部时间。有各种各样的解决办法;最简单的可能是:

t.logtime >= to_date('2011-01-01', 'yyyy-mm-dd')
and t.logtime < to_date('2011-04-01', 'yyyy-mm-dd')
但请注意,它不能再在logtime上使用索引(尽管它可以在trunc(logtime)上使用索引)

t.logtime >= date '2011-01-01'
and t.logtime < date '2011-04-01'
trunc(t.logtime) between date '2011-01-01' and date '2011-03-31'