DECLARE @dateEnd datetime
SET @dateEnd = '2014-11-30T23:59:59.999'
SELECT @dateEnd
为什么我得到结果:
2014-12-01 00:00:00.000
我想使用变量作为 SELECT 条件:
where [MyDate] between @dateStart and @dateEnd
这是另一个问题,但相关。我希望包含第一个数据点 (dataStart),并将第二个数据点 (dataEnd) 从选定的数据范围中排除。怎么做?
最佳答案
datetime
的时间范围是“00:00:00 到 23:59:59.997”。在“0.999”处,该值将四舍五入到最接近的秒,这恰好是第二天的开始,从而得出所描述的结果。但郑重声明,“.998”将保留当天“23:59:59”的时间部分。
关于sql - 为什么 SQL 将精确的日期时间更改一格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27818922/