0

为什么结果不同

第一季度

SELECT COUNT(*) FROM ABC where CONVERT(DATE, TimeStamp, 101) between   '2013-10-01'  and '2013-10-31'

第二季度

SELECT COUNT(*) FROM ABC where TimeStamp between   '2013-10-01'  and '2013-10-31'

Q2 忽略日期 31 日的结果,但在转换日期格式时,它会显示包括 31 日在内的所有结果

4

1 回答 1

0

由于您的 between 语句不包含结束日期的时间,因此它只会返回 2013 年 10 月 31 日 00:00:00.000 以内的值。之后的任何时间都不会匹配。

但是,在您的第一个查询中,您将截断时间戳字段中值的时间,因此将包括 2013 年 10 月 31 日任何时间的任何值。

于 2013-11-09T07:22:47.263 回答