SYSDATETIME (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 SYSDATETIME Transact-SQL (T-SQL) zwraca wartość datetime2(7), która zawiera datę i godzinę komputera, na którym działa instancja SQL Server.

Uwaga / Notatka

SYSDATETIME i SYSUTCDATETIME mają większą precyzję ułamkową sekund niż GETDATE i GETUTCDATE. SYSDATETIMEOFFSET zawiera przesunięcie strefy czasowej systemu. SYSDATETIME, SYSUTCDATETIME, i SYSDATETIMEOFFSET mogą być przypisane do zmiennej dowolnego typu daty i czasu.

Azure Synapse Analytics podąża za UTC. Użyj AT TIME ZONE w Azure Synapse Analytics, jeśli musisz interpretować informacje o dacie i czasie w strefie czasowej spoza UTC.

Uwaga / Notatka

Azure SQL Database oraz baza danych SQL w Microsoft Fabric wspierają zmianę domyślnej strefy czasowej z uniwersalnego czasu koordynowanego (UTC). Jeśli zmodyfikujesz strefę czasową na poziomie bazy danych lub sesji , ta funkcja zwraca czas lokalny na podstawie skonfigurowanej wartości strefy czasowej. Więcej informacji można znaleźć pod adresem ALTER DATABASE SCOPED CONFIGURATIONSET TIME ZONE.

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

Transact-SQL konwencje składni

Składnia

SYSDATETIME ( )

Typy zwracane

datetime2(7)

Uwagi

Transact-SQL stwierdzenia mogą odnosić się do SYSDATETIME dowolnego miejsca, w którym mogą odnosić się do wyrażenia datetime2(7).

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

Uwaga / Notatka

SQL Server pobiera wartości daty i godziny, korzystając z API 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. Możesz użyć GetSystemTimeAdjustment() Windows API, aby określić dokładność.

Przykłady

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.

W tych przykładach załóżmy, że aktualna data to 30 kwietnia 2026 roku.

A. Pobieranie bieżącej daty i godziny systemu

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. Pobieranie bieżącej daty systemu

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. Pobierz aktualny czas systemowy

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

Przykłady: Azure Synapse Analytics

D. Pobieranie bieżącej daty i godziny systemu

SELECT SYSDATETIME();

Oto zestaw wyników.

--------------------------
4/30/2026 1:10:02 PM