CURRENT_TIMESTAMP (Transact-SQL)
Возвращает текущую системную временную метку базы данных в виде значения datetime без смещения часового пояса базы данных. Это значение наследуется от операционной системы компьютера, на котором работает экземпляр SQL Server.
![]() |
---|
SYSDATETIME и SYSUTCDATE имеют большую точность в долях секунды, чем GETDATE и GETUTCDATE. SYSDATETIMEOFFSET включает смещение часового пояса, заданное в системе. Функции SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET могут быть присвоены переменным любого типа даты и времени. |
Эта функция ANSI SQL эквивалентна функции GETDATE.
Обзор всех типов данных и функций даты и времени в языке Transact-SQL см. в разделе Типы данных и функции даты и времени. Сведения и примеры, относящиеся к типам данных и функциям даты и времени, см. в разделе Использование данных даты и времени.
Синтаксис
CURRENT_TIMESTAMP
Аргументы
-
Нет аргументов.
Тип возвращаемых данных
datetime
Замечания
Функция CURRENT_TIMESTAMP может использоваться в инструкциях Transact-SQL везде, где допустимо использование выражений datetime.
Функция CURRENT_TIMESTAMP недетерминированная. Невозможно проиндексировать представления и выражения, ссылающиеся на этот столбец.
Примеры
В следующих примерах с помощью шести системных функций SQL Server, которые возвращают текущую дату и время, возвращается дата, время или дата и время. Значения возвращаются последовательно, поэтому могут различаться на доли секунды.
А. Получение текущих системной даты и времени
SELECT SYSDATETIME() ,SYSDATETIMEOFFSET() ,SYSUTCDATETIME() ,CURRENT_TIMESTAMP ,GETDATE() ,GETUTCDATE();/* Returned:SYSDATETIME() 2007-04-30 13:10:02.0474381SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00SYSUTCDATETIME() 2007-04-30 20:10:02.0474381CURRENT_TIMESTAMP 2007-04-30 13:10:02.047GETDATE() 2007-04-30 13:10:02.047GETUTCDATE() 2007-04-30 20:10:02.047
Б. Получение текущей системной даты
SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, SYSDATETIMEOFFSET()) ,CONVERT (date, SYSUTCDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()) ,CONVERT (date, GETUTCDATE());/* Returned SYSDATETIME() 2007-05-03SYSDATETIMEOFFSET()2007-05-03SYSUTCDATETIME() 2007-05-04CURRENT_TIMESTAMP 2007-05-03GETDATE() 2007-05-03GETUTCDATE() 2007-05-04*/
В. Получение текущего системного времени
SELECT CONVERT (time, SYSDATETIME()) ,CONVERT (time, SYSDATETIMEOFFSET()) ,CONVERT (time, SYSUTCDATETIME()) ,CONVERT (time, CURRENT_TIMESTAMP) ,CONVERT (time, GETDATE()) ,CONVERT (time, GETUTCDATE());/* ReturnedSYSDATETIME() 13:18:45.3490361SYSDATETIMEOFFSET()13:18:45.3490361SYSUTCDATETIME() 20:18:45.3490361CURRENT_TIMESTAMP 13:18:45.3470000GETDATE() 13:18:45.3470000GETUTCDATE() 20:18:45.3470000*/