четверг, 5 сентября 2013 г.

В чем отличие функций, возвращающих значение даты и времени


-- Возвращает DATETIMEOFFSET по местному времени с текущим часовым поясом

SELECT
   SYSDATETIMEOFFSET() AS "Значение"
   ,'SYSDATETIMEOFFSET()' AS "Функция"
   ,SQL_VARIANT_PROPERTY(SYSDATETIMEOFFSET(),'basetype') AS "Тип данных"
         UNION ALL

-- Возвращает DATETIME2 по UTC (Всемирное координированное время)

SELECT
   SYSUTCDATETIME()
   ,'SYSUTCDATETIME'
   ,SQL_VARIANT_PROPERTY(SYSUTCDATETIME(),'basetype')
         UNION ALL

-- Возвращает DATETIME2 по местному времени

SELECT
   SYSDATETIME()
   ,'SYSDATETIME()'
   ,SQL_VARIANT_PROPERTY(SYSDATETIME(),'basetype')
         UNION ALL

-- Возвращает DATETIME по местному времени

SELECT
   CURRENT_TIMESTAMP
   ,'CURRENT_TIMESTAMP'
   ,SQL_VARIANT_PROPERTY(CURRENT_TIMESTAMP,'basetype')
         UNION ALL

-- Возвращает DATETIME по местному времени

SELECT
   GETDATE()
   ,'GETDATE()'
   ,SQL_VARIANT_PROPERTY(GETDATE(),'basetype')
         UNION ALL

-- Возвращает DATETIME2 по UTC (Всемирное координированное время)

SELECT GETUTCDATE()
      ,'GETUTCDATE()'
   ,SQL_VARIANT_PROPERTY(GETUTCDATE(),'basetype')