Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 6
  • 220

Odpowiedź (1)

  • 4

W przypadku SQL Server funkcja GETDATE() jest ekwiwalentem funkcji  CURRENT_TIMESTAMP. 

CURRENT_TIMESTAMP jest funkcją zgodną ze standardem ANSI SQL, natomiast GETDATE jest implementacją T-SQL tej samej funkcji. Obydwie funkcje zwracają identyczny czas komputera, na którym jest uruchomiona instancja bazy danych.

 Natomiast funkcja SYSDATETIME() zwraca czas w większej precyzji, gdyż używa typu datetime2 zamiast datetime.
 
Funkcji wyświetlającej aktualny czas na serwerze jest dużo więcej. W przypadku aplikacji, które pracują równocześnie w różnych strefach czasowych, warto zwrócić uwagę na funkcje, które uwzględniają przesunięcie czasowe.
 
Najlepiej prezentuje to przykład z MSDN:
 
SELECT SYSDATETIME()
    ,SYSDATETIMEOFFSET()
    ,SYSUTCDATETIME()
    ,CURRENT_TIMESTAMP
    ,GETDATE()
    ,GETUTCDATE();
/* Returned:
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

  
  • Odpowiedział
  • @ | 03.07.2014
  • TRENER ALTKOM AKADEMII