这是:
between cast(date as date) and cast(date1 as date)
Run Code Online (Sandbox Code Playgroud)
同样如下:
between '01/01/01 00:00:00' and '01/01/01 11:59:59'
Run Code Online (Sandbox Code Playgroud)
我被告知,在比较SQL Server中的日期时间值时,如果我想返回PROPER结果,我应该总是包含一个带有我的日期的时间组件.
不要使用between日期.这只是冒险.通常,使用正确的语法是:
where dtcol >= @date1 and
dtcol < dateadd(day, 1, @date2)
Run Code Online (Sandbox Code Playgroud)
注意不等式的方向.这适用于日期和日期/时间的列.所以,它只是有效.
Aaron Bertrand有一篇很棒的博客文章,BETWEEN和魔鬼有什么共同之处?.