GETDATE (Transact-SQL)

  1. Синтаксис
  2. Тип возврата
  3. Примеры
  4. C. Получение текущего системного времени
  5. Примеры: хранилище данных SQL Azure и хранилище параллельных данных
  6. F. Получение текущего системного времени
  7. Смотрите также

ОТНОСИТСЯ К: ОТНОСИТСЯ К:   SQL Server   База данных SQL Azure   Хранилище данных SQL Azure   Параллельное хранилище данных   Возвращает текущую системную метку базы данных в качестве значения даты и времени без смещения часового пояса базы данных SQL Server База данных SQL Azure Хранилище данных SQL Azure Параллельное хранилище данных

Возвращает текущую системную метку базы данных в качестве значения даты и времени без смещения часового пояса базы данных. Это значение выводится из операционной системы компьютера, на котором работает экземпляр SQL Server.

Заметка

SYSDATETIME и SYSUTCDATETIME имеют более высокую точность долей секунды, чем GETDATE и GETUTCDATE. SYSDATETIMEOFFSET включает смещение часового пояса системы. SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET могут быть назначены переменной любого типа даты и времени.

Для обзора всех типов данных и функций Transact-SQL даты и времени см. Типы и функции данных даты и времени (Transact-SQL) ,

Соглашения о синтаксисе Transact-SQL Соглашения о синтаксисе Transact-SQL

Синтаксис

GETDATE ()

Тип возврата

Дата и время

Операторы Transact-SQL могут ссылаться на GETDATE везде, где они могут ссылаться на выражение даты и времени .

GETDATE - это недетерминированная функция. Представления и выражения, которые ссылаются на эту функцию в столбце, не могут быть проиндексированы.

Использование SWITCHOFFSET с функцией GETDATE () может привести к медленному выполнению запроса, поскольку оптимизатор запросов не может получить точные оценки количества элементов для значения GETDATE. Мы рекомендуем предварительно вычислить значение GETDATE, а затем указать это значение в запросе, как показано в следующем примере. Кроме того, используйте подсказку запроса OPTION (RECOMPILE), чтобы заставить оптимизатор запросов перекомпилировать план запроса при следующем выполнении того же запроса. После этого оптимизатор получит точные оценки мощности для GETDATE () и создаст более эффективный план запросов.

DECLARE @dt datetimeoffset = switchoffset (CONVERT (datetimeoffset, GETDATE ()), '-04: 00'); ВЫБЕРИТЕ * ОТ ГДЕ c1> @dt OPTION (RECOMPILE);

Примеры

В следующих примерах используются шесть системных функций SQL Server, которые возвращают текущую дату и время для возврата даты, времени или того и другого. Значения возвращаются последовательно; следовательно, их доли секунды могут отличаться.

ВЫБЕРИТЕ SYSDATETIME (), SYSDATETIMEOFFSET (), SYSUTCDATETIME (), CURRENT_TIMESTAMP, GETDATE (), GETUTCDATE ();

Вот набор результатов.

SYSDATETIME () 2007-04-30 13: 10: 02.0474381 SYSDATETIMEOFFSET () 2007-04-30 13: 10: 02.0474381 -07: 00 SYSUTCDATETIME () 2007-04-30 20: 10: 02.0474381 CURRENT_TIMESTAMP 2007-04-30 13 : 10: 02.047 GETDATE () 2007-04-30 13: 10: 02.047 GETUTCDATE () 2007-04-30 20: 10: 02.047 ВЫБРАТЬ КОНВЕРТ (дата, SYSDATETIME ()), КОНВЕРТ (дата, SYSDATETIMEOFFSET ()), КОНВЕРТ (дата, SYSUTCDATETIME ()), CONVERT (дата, CURRENT_TIMESTAMP), CONVERT (дата, GETDATE ()), CONVERT (дата, GETUTCDATE ());

Вот набор результатов.

SYSDATETIME () 2007-05-03 SYSDATETIMEOFFSET () 2007-05-03 SYSUTCDATETIME () 2007-05-04 CURRENT_TIMESTAMP 2007-05-03 GETDATE () 2007-05-03 GETUTCDATE () 2007-05-04

C. Получение текущего системного времени

ВЫБЕРИТЕ CONVERT (время, SYSDATETIME ()), CONVERT (время, SYSDATETIMEOFFSET ()), CONVERT (время, SYSUTCDATETIME ()), CONVERT (время, CURRENT_TIMESTAMP), CONVERT (время, GETDATE ()), CONVERT (время, G, ));

Вот набор результатов.

SYSDATETIME () 13: 18: 45.3490361 SYSDATETIMEOFFSET () 13: 18: 45.3490361 SYSUTCDATETIME () 20: 18: 45.3490361 CURRENT_TIMESTAMP 13: 18: 45.3470000 GETDATE () 13: 18: 45.34700: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300: 300

Примеры: хранилище данных SQL Azure и хранилище параллельных данных

В следующих примерах используются три системные функции SQL Server, которые возвращают текущую дату и время для возврата даты, времени или того и другого. Значения возвращаются последовательно; следовательно, их доли секунды могут отличаться.

SELECT SYSDATETIME (), CURRENT_TIMESTAMP, GETDATE (); ВЫБЕРИТЕ CONVERT (дата, SYSDATETIME ()), CONVERT (дата, CURRENT_TIMESTAMP), CONVERT (дата, GETDATE ());

F. Получение текущего системного времени

ВЫБЕРИТЕ CONVERT (время, SYSDATETIME ()), CONVERT (время, CURRENT_TIMESTAMP), CONVERT (время, GETDATE ());

Смотрите также

CAST и CONVERT (Transact-SQL)