Database
 sql >> база данни >  >> RDS >> Database

Как да получите текущата дата и час (без часова зона) в T-SQL

Проблем:

Искате да получите текущата дата и час в T-SQL, но не искате изместването на часовата зона.

Решение:

Ще използваме GETDATE(), CURRENT_TIMESTAMP и SYSDATETIME(), за да получим текущата дата и час без изместване на часовата зона. Първите две функции ни позволяват да получим текущото време с по-ниска точност. (GETDATE() е T-SQL функция, докато CURRENT_TIMESTAMP е стандартна SQL функция; и двете функции връщат един и същ тип данни). Третата функция, SYSDATETIME(), получава време с по-висока точност.

SELECT CURRENT_TIMESTAMP ;

Ето резултата от заявката:

2019-08-14 10:01:06.983

Дискусия:

В база данни на SQL Server, CURRENT_TIMESTAMP функцията връща текущата дата и час (т.е. часа на машината, където се изпълнява този екземпляр на SQL Server) като datetime тип данни. Datetime е време с по-ниска точност, което има максимум три части секунди. (В нашия пример това е 983.)

GETDATE() е подобен на CURRENT_TIMESTAMP и връща същия резултат. Разликата е, че CURRENT_TIMESTAMP е SQL стандарт, докато GETDATE() е специфичен за SQL Server.

SELECT GETDATE() ;

Разбира се, ако искате да получите текуща дата и час с по-висока точност без изместване на часовата зона, можете да използвате функцията SYSDATETIME(). Тази функция връща datetime2 тип данни със седем частни секунди. Вижте примера по-долу:

SELECT SYSDATETIME() ;

Ето резултата:

2019-08-14 10:01:06.9754163

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединяване на файлове с данни със Statistica, част 2

  2. SQL АКТУАЛИЗАЦИЯ

  3. Модел на база данни за система за съобщения

  4. Поднабор на база данни – Как да в IRI Voracity

  5. FrankenQueries:когато SQL и NoSQL се сблъскат