Jak pobrać bieżącą datę i czas w SQL Server 2012?

T-SQL udostępnia szereg funkcji pozwalających na pobieranie z serwera bieżącej daty i czasu.

    Transact SQL dostarcza dwóch kategorii funkcji zwracających bieżącą  datę i czas:

  • funkcje daty i czasu wysokiej precyzji,
  • funkcje daty i czasu niskiej precyzji.
    Funkcje wysokiej precyzji to:

  • SYSDATETIME() – zwraca typ danych datetime2(7),
  • SYSDATETIMEOFFSET() – zwraca typ danych datetimeoffset(7), a więc także różnicę strefy czasowej,
  • SYSUTCDATETIME() – zwraca typ danych datetime2(7) jako UTC (Coordinated Universal Time) , czyli czas uniwersalny.
SELECT
      SYSDATETIME() AS 'SYSDATETIME' ,
      SYSDATETIMEOFFSET() AS 'SYSDATETIMEOFFSET',
      SYSUTCDATETIME() AS 'SYSUTCDATETIME' ;

S1

    Funkcje niskiej precyzji to:

  • CURRENT_TIMESTAMP – zwraca typ danych datetime,
  • GETDATE() – zwraca typ danych datetime,
  • GETUTCDATE() – zwraca typ danych datetime jakoUTC(Coordinated Universal Time), czyli czas uniwersalny.
SELECT
      CURRENT_TIMESTAMP AS 'CURRENT_TIMESTAMP' ,
      GETDATE() AS 'GETDATE',
      GETUTCDATE() AS 'GETUTCDATE' ;

S2

W Polsce różnica strefy czasowej to +2 godziny, dlatego przy zwracaniu czasu uniwersalnego UTC , mamy do czynienia z czasem cofniętym o 2 godziny.  Funkcje wysokiej precyzji zawierają 7 znaków w części ułamkowej sekundy, a funkcje niskiej precyzji tylko 3 znaki w części ułamkowej sekundy.

Odpowiedz

Twój adres email nie zostanie opublikowany.