在达到最小日期时,我看到很多关于datetime2溢出的线程,但我的数据中没有。此外,DATEADD
在SELECT
语句中正常工作,但在WHERE
语句中则无效。这就是我想要做的事情:
SELECT DATEADD(hour, -8, MyDate) as 'PST Date'
FROM [dbo].[MyTable]
WHERE DATEADD(hour, -8, MyDate) between '2017-01-01' and '2017-02-01'
哪个解析为:
Adding a value to a 'datetime2' column caused an overflow.
如果我从DATEADD
语句中取出WHERE
,那么此查询就可以正常运行,但之后我的结果会有8小时的转换。知道为什么会发生这种情况或我能做些什么才能使WHERE
正常工作?谢谢!