Подтвердить что ты не робот

Функция GETUTCDATE

Почему мы должны использовать GETUTCDATE() функцию вместо getdate() или наоборот?

Какова цель обоих? Пожалуйста, помогите мне с примером.

4b9b3361

Ответ 1

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()

  • Он вернет дату с вашим региональным временем, или мы можем сказать, что она возвращает текущую системную дату и время.
  • Если вы подключены к удаленному серверу SQL, тогда отображаемая временная метка будет отметкой времени удаленной машины, а не локальной.
  • Это недетерминированная функция.
  • Представления и выражения, ссылающиеся на этот столбец, не могут быть проиндексированы.

GETUTCDATE()

  • Он вернет дату и время по Гринвичу (среднее время по Гринвичу).
  • GETUTCDATE() может использоваться для хранения временной метки, которая не зависит от временных зон.
  • Текущее время UTC выводится из текущего локального времени и настройки часового пояса в операционной системе компьютера, на котором запущен экземпляр Microsoft SQL Server.
  • GETUTCDATE - недетерминированная функция.
  • Представления и выражения, ссылающиеся на этот столбец, не могут быть проиндексированы.