我阅读了有关MS SQL Server的datediff rounding并快速举例:
select datediff(hour,'2015-04-15 19:59:59','2015-04-15 22:00:00')
go
3
(1 row affected)
select datediff(minute,'2015-04-15 19:59:59','2015-04-15 22:00:00')
go
121
(1 row affected)
select datediff(second,'2015-04-15 19:59:59','2015-04-15 22:00:00')
go
7201
(1 row affected)
有很多建议(在博客/ SO中)通过以下方式调整到本地的时间:
DATEADD(MINUTE, DATEDIFF(MINUTE, GETUTCDATE(), GETDATE()), DATETIME_COLUMN)
似乎危险和结果取决于执行查询的时间。
或者保证GETUTCDATE()
和GETDATE()
如果在同一个查询中指向相同的时间戳?
答案 0 :(得分:1)
他们不是同时给你的,但他们应该在几千分之一秒内给你时间。所以它导致你出现问题的可能性(显示1分钟差异)并不是很高。