Sdílet prostřednictvím


SYSUTCDATETIME (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí hodnotu datetime2 , která obsahuje datum a čas počítače, na kterém je spuštěna instance SYSTÉMU 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() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Tady je soubor výsledků.

SYSDATETIME()       2025-10-20 13:10:02.0474381
SYSDATETIMEOFFSET() 2025-10-20 13:10:02.0474381 -07:00
SYSUTCDATETIME()    2025-10-20 20:10:02.0474381
CURRENT_TIMESTAMP   2025-10-20 13:10:02.047
GETDATE()           2025-10-20 13:10:02.047
GETUTCDATE()        2025-10-20 20:10:02.047

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());

Tady je soubor výsledků.

2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20
2025-10-20

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 .

DECLARE @DATETIME AS DATETIME = GetDate();
DECLARE @TIME AS TIME;
SELECT @TIME = CONVERT (TIME, @DATETIME);
SELECT @TIME AS 'Time',
       @DATETIME AS 'Date Time';

Tady je soubor výsledků.

Time             Date Time
13:49:33.6330000 2025-10-20 13:49:33.633