0

以下两种情况有什么不同?DateRecordCreated 是一个 DTM 字段。

  1. cast([DateRecordCreated] as date) >= '2014-07-04' and cast([DateRecordCreated] as date) <= '2014-07-10'

  2. [DateRecordCreated] >= '2014-07-04' and [DateRecordCreated] <= '2014-07-10'

它们看起来像相同的条件,但给了我不同的结果。#2 给了我一个较低的数字。

4

1 回答 1

2

第二个有时间成分。因此,DateRecordCreated正在与2014-07-10 没有时间的日期进行比较(在第二种情况下)。这意味着任何不完全在午夜的值都将无法通过测试。

第一个版本取消了时间部分,因此它将包括该日期的所有时间。

作为一般规则,我会将这个逻辑写成:

[DateRecordCreated] >= '2014-07-04' and [DateRecordCreated] < '2014-07-11'

Aaron Bertrand 实际上有一个关于这个主题的非常有用的博客。我建议您阅读

于 2014-07-15T18:44:38.340 回答