为什么我们应该使用GETUTCDATE()
函数而不是getdate()
或反之?
两者的目的是什么?请帮我举个例子。
最佳答案
GETUTCDATE()表示当前的UTC
时间(通用时间坐标或格林威治标准时间)
nondeterministic
函数,引用此列的 View 和表达式无法建立索引。 当前UTC时间是从当前本地时间和运行SQL Server的计算机的操作系统中的时区设置得出的。
GETDATE()
和GETUTCDATE()
之间的区别是SQL Server计算机的时间区域号。为了更好地理解,请参见示例:
DECLARE @local_time DATETIME;
DECLARE @gmt_time DATETIME;
SET @local_time = GETDATE();
SET @gmt_time = GETUTCDATE();
SELECT 'Server local time: '
+ CONVERT(VARCHAR(40),@local_time);
SELECT 'Server GMT time: '
+ CONVERT(VARCHAR(40),@gmt_time);
SELECT 'Server time zone: '
+ CONVERT(VARCHAR(40),
DATEDIFF(hour,@gmt_time,@local_time));
GO
输出:
Server local time: Jun 2 2007 10:06PM
Server GMT time: Jun 2 2007 4:21PM
Server time zone: 6
GETDATE()
GETUTCDATE()
关于sql - GETUTCDATE函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14996306/