SYSDATETIMEOFFSET (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'de Azure Synapse AnalyticsSQL veritabanı

Transact-SQL (T-SQL) fonksiyonu, SYSDATETIMEOFFSET SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetimeoffset(7) değerini döndürür. Saat dilimi ofseti de dahildir.

Tüm Transact-SQL tarih ve saat veri türlerine ve işlevlerine genel bakış için bkz. Tarih ve saat veri türleri ve işlevleri.

Transact-SQL söz dizimi kuralları

Sözdizimi

SYSDATETIMEOFFSET ( )

Dönüş türleri

datetimeoffset(7)

Açıklamalar

Transact-SQL ifadeleri, datetimeoffset ifadesine başvurabildikleri her yerde SYSDATETIMEOFFSET'e referans verebilir.

SYSDATETIMEOFFSET, belirsiz bir fonksiyondur. Bir sütunda bu işleve başvuran görünümler ve ifadeler dizine alınamaz.

Uyarı

SQL Server, tarih ve zaman değerlerini GetSystemTimeAsFileTime() Windows API'si kullanarak elde eder. Doğruluk, SQL Server örneğinin çalıştığı bilgisayar donanımına ve Windows sürümüne bağlıdır. Bu API'nin duyarlığı 100 nanosaniye olarak sabittir. Doğruluk, GetSystemTimeAdjustment() Windows API'si kullanılarak belirlenebilir.

Örnekler

Aşağıdaki örneklerde, tarih, saat veya her ikisini birden döndürmek için geçerli tarih ve saati döndüren altı SQL Server sistem işlevi kullanılır. Değerler seri olarak döndürülür; Bu nedenle, kesirli saniyeleri farklı olabilir.

A. Tarih ve saat işlevleri tarafından döndürülen biçimleri gösterme

Aşağıdaki örnekte tarih ve saat işlevleri tarafından döndürülen farklı biçimler gösterilmektedir.

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

Sonuç kümesi aşağıdadır.

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. Tarih ve saati tarihe dönüştürme

Aşağıdaki örnek, tarih ve zaman değerlerinin nasıl dönüştürüleceğini dategösterir.

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

Sonuç kümesi aşağıdadır.

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. Tarih ve saati saatlere dönüştür

Aşağıdaki örnek, tarih ve zaman değerlerinin nasıl dönüştürüleceğini timegösterir.

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

Sonuç kümesi aşağıdadır.

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