Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
SQL database w usłudze Microsoft Fabric
Funkcja SYSDATETIMEOFFSET Transact-SQL (T-SQL) zwraca wartość datetimeoffset(7), która zawiera datę i godzinę komputera, na którym działa instancja SQL Server. Uwzględniono przesunięcie strefy czasowej.
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
Składnia
SYSDATETIMEOFFSET ( )
Typy zwracane
datetimeoffset(7)
Uwagi
Transact-SQL instrukcje mogą odnosić się do SYSDATETIMEOFFSET wszędzie – mogą odnosić się do wyrażenia datetimeoffset .
SYSDATETIMEOFFSET jest funkcją niedeterministyczną. Nie można indeksować widoków i wyrażeń odwołujących się do tej funkcji w kolumnie.
Uwaga / Notatka
SQL Server uzyskuje wartości daty i czasu za pomocą API Windows GetSystemTimeAsFileTime(). 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ć, korzystając z API Windows GetSystemTimeAdjustment().
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.
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ę
Poniższy przykład pokazuje, jak przeliczyć wartości daty i czasu na date.
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. Przelicz datę i czas na czasy
Poniższy przykład pokazuje, jak przeliczyć wartości daty i czasu na time.
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