我在数据库中有一条记录,其日期在2015年3月31日。如果我使用startdate:>="2015-03-01" AND startdate:<="2015-03-31"
,那么我得不到结果但是如果我使用startdate:>="2015-03-01" AND startdate:<"2015-04-01"
那么我得到预期的结果。不是startdate:<="2015-03-31"
和startdate:<"2015-04-01"
几乎相同吗?请指教。
答案 0 :(得分:2)
这取决于数据类型。如果您使用的是SQL Server,并且使用的是数据类型datetime
,那么您既有日期又有时间。因此2015-03-31
表示2015-03-31 00:00:00
而2015-04-01
表示2015-04-01 00:00:00
,因此您会错过一天。
另一方面,这两个条件几乎完全相同:
startdate:<"2015-04-01"
startdate:<="2015-03-31 23:59:59"