Почему мы должны использовать GETUTCDATE()
функцию вместо getdate()
или наоборот?
Какова цель обоих? Пожалуйста, помогите мне с примером.
Почему мы должны использовать GETUTCDATE()
функцию вместо getdate()
или наоборот?
Какова цель обоих? Пожалуйста, помогите мне с примером.
GETUTCDATE() представляет текущее время UTC
(универсальная временная координата или среднее время по Гринвичу)
nondeterministic
, представления и выражения, которые ссылаются на этот столбец, не могут быть проиндексированы.Текущее время 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()