SYSUTCDATETIME (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint analityki SQL w Microsoft FabricMagazyn w Microsoft FabricBaza danych SQL w Microsoft Fabric

Funkcja SYSUTCDATETIME Transact-SQL (T-SQL) zwraca wartość datetime2, która zawiera datę i godzinę komputera, na którym działa instancja SQL Server. Data i godzina jest zwracana jako godzina UTC (uniwersalny czas koordynowany). Specyfikacja ułamkowej drugiej precyzji ma zakres od 1 do 7 cyfr. Domyślna precyzja to 7 cyfr.

Rozważ:

  • SYSDATETIME i SYSUTCDATETIME mają większą precyzję ułamkową sekund niż GETDATE i GETUTCDATE.

  • SYSDATETIMEOFFSET zawiera przesunięcie strefy czasowej systemu.

  • SYSDATETIME, SYSUTCDATETIMEi SYSDATETIMEOFFSET można przypisać do zmiennej dowolnego z typów daty i godziny.

Aby zapoznać się z omówieniem wszystkich Transact-SQL typów i funkcji danych daty i godziny, zobacz Typy i funkcje danych daty i godziny.

Transact-SQL konwencje składni

Syntax

SYSUTCDATETIME ( )

Typy zwracane

datetime2

Remarks

Transact-SQL instrukcje mogą odwoływać się do SYSUTCDATETIME dowolnego miejsca, w jakim mogą odwoływać się do wyrażenia datetime2 .

SYSUTCDATETIME jest funkcją nieokreśloną. Nie można indeksować widoków i wyrażeń odwołujących się do tej funkcji w kolumnie.

Note

Program SQL Server uzyskuje wartości daty i godziny przy użyciu interfejsu API systemu GetSystemTimeAsFileTime() Windows. Dokładność zależy od sprzętu komputera i wersji systemu Windows, na którym działa wystąpienie programu SQL Server. Precyzja tego interfejsu API jest stała na poziomie 100 nanosekund. Dokładność można określić przy użyciu interfejsu API systemu GetSystemTimeAdjustment() Windows.

Examples

W poniższych przykładach użyto sześciu funkcji systemowych programu SQL Server, które zwracają bieżącą datę i godzinę, aby zwrócić datę, godzinę lub obie te funkcje. Wartości są zwracane w serii; w związku z tym ich ułamkowe sekundy mogą być inne.

A. Pokaż formaty zwracane przez funkcje daty i godziny

W poniższym przykładzie przedstawiono różne formaty zwracane przez funkcje daty i godziny.

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

Oto zestaw wyników.

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. Konwertowanie daty i godziny na datę

W poniższym przykładzie pokazano, jak przekonwertować wartości daty i godziny na typ danych daty .

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

Oto zestaw wyników.

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. Konwertowanie wartości daty i godziny na godzinę

W poniższym przykładzie pokazano, jak przekonwertować wartości daty i godziny na typ danych godziny .

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

Oto zestaw wyników.

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