SYSUTCDATETIME (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Funkce SYSUTCDATETIME Transact-SQL (T-SQL) vrací hodnotu datetime2, která obsahuje datum a čas počítače, na kterém běží instance SQL Server. Datum a čas se vrátí jako čas UTC (koordinovaný univerzální čas). Specifikace přesnosti desetinné sekundy má rozsah od 1 do 7 číslic. Výchozí přesnost je 7 číslic.

Rozmyslete si:

  • SYSDATETIME a SYSUTCDATETIME mají více desetinné sekundy přesnost než GETDATE a GETUTCDATE.

  • SYSDATETIMEOFFSET zahrnuje posun systémového časového pásma.

  • SYSDATETIME, SYSUTCDATETIMEa SYSDATETIMEOFFSET lze jej přiřadit k proměnné libovolného typu data a času.

Přehled všech Transact-SQL datových typů a funkcí data a času najdete v tématu Datové typy a funkce data a času.

Transact-SQL konvence syntaxe

Syntax

SYSUTCDATETIME ( )

Návratové typy

datetime2

Remarks

Transact-SQL příkazy můžou odkazovat na SYSUTCDATETIME libovolné místo, kde můžou odkazovat na výraz datetime2 .

SYSUTCDATETIME je nedetermintická funkce. Zobrazení a výrazy, které odkazují na tuto funkci ve sloupci, nelze indexovat.

Note

SQL Server získá hodnoty data a času pomocí GetSystemTimeAsFileTime() rozhraní API systému Windows. Přesnost závisí na hardwaru počítače a verzi Windows, na které je spuštěná instance SQL Serveru. Přesnost tohoto rozhraní API je pevná na 100 nanosekundách. Přesnost lze určit pomocí GetSystemTimeAdjustment() rozhraní API systému Windows.

Examples

Následující příklady používají šest systémových funkcí SYSTÉMU SQL Server, které vracejí aktuální datum a čas k vrácení data, času nebo obojího. Hodnoty jsou vráceny v řadě; proto se jejich zlomkové sekundy můžou lišit.

A. Zobrazení formátů vrácených funkcemi data a času

Následující příklad ukazuje různé formáty, které vrací funkce data a času.

SELECT SYSDATETIME(),
       SYSDATETIMEOFFSET(),
       SYSUTCDATETIME(),
       CURRENT_TIMESTAMP,
       GETDATE(),
       GETUTCDATE(),
       CURRENT_DATE;

Tady je soubor výsledků.

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. Převod data a času na datum

Následující příklad ukazuje, jak převést hodnoty data a času na datový typ data .

SELECT CONVERT (DATE, SYSDATETIME()),
       CONVERT (DATE, SYSDATETIMEOFFSET()),
       CONVERT (DATE, SYSUTCDATETIME()),
       CONVERT (DATE, CURRENT_TIMESTAMP),
       CONVERT (DATE, GETDATE()),
       CONVERT (DATE, GETUTCDATE()),
       CURRENT_DATE;

Tady je soubor výsledků.

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

C. Převod hodnot data a času na čas

Následující příklad ukazuje, jak převést hodnoty data a času na datový typ času .

SELECT CONVERT (TIME, SYSDATETIME()),
       CONVERT (TIME, SYSDATETIMEOFFSET()),
       CONVERT (TIME, SYSUTCDATETIME()),
       CONVERT (TIME, CURRENT_TIMESTAMP),
       CONVERT (TIME, GETDATE()),
       CONVERT (TIME, GETUTCDATE());

Tady je soubor výsledků.

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740