Udostępnij za pomocą


SYSUTCDATETIME (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Punkt końcowy analizy SQL w usłudze Microsoft FabricHurtownia danych w usłudze Microsoft FabricBaza danych SQL w usłudze Microsoft Fabric

Zwraca wartość datetime2 zawierającą datę i godzinę komputera, na którym jest uruchomione wystąpienie programu 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() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Oto zestaw wyników.

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

Oto zestaw wyników.

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

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 .

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

Oto zestaw wyników.

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