Aracılığıyla paylaş


SYSDATETIMEOFFSET (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetimeoffset(7) değeri 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 İşlevleri (Transact-SQL).

Transact-SQL söz dizimi kuralları

Sözdizimi

SYSDATETIMEOFFSET ( )  

Dönüş Türü

datetimeoffset(7)

Açıklamalar

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

SYSDATETIMEOFFSET, belirsiz bir fonksiyondur. Bu fonksiyona bir sütunda referans veren görünümler ve ifadeler indekslenemez.

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 fonksiyonlarının döndürülen formatlarını göstermek

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

SELECT SYSDATETIME() AS [SYSDATETIME()]  
    ,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]  
    ,SYSUTCDATETIME() AS [SYSUTCDATETIME()]  
    ,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]  
    ,GETDATE() AS [GETDATE()]  
    ,GETUTCDATE() AS [GETUTCDATE()];  

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

SYSDATETIME()      2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME()   2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP  2007-04-30 13:10:02.047
GETDATE()          2007-04-30 13:10:02.047
GETUTCDATE()       2007-04-30 20:10:02.047

B. Tarih ve saatin günümüze dönüştürülmesi

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

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

2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30

C. Tarih ve saati saatlere dönüştürme

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

SELECT CONVERT (time, SYSDATETIME()) AS [SYSDATETIME()]  
    ,CONVERT (time, SYSDATETIMEOFFSET()) AS [SYSDATETIMEOFFSET()]  
    ,CONVERT (time, SYSUTCDATETIME()) AS [SYSUTCDATETIME()]  
    ,CONVERT (time, CURRENT_TIMESTAMP) AS [CURRENT_TIMESTAMP]  
    ,CONVERT (time, GETDATE()) AS [GETDATE()]  
    ,CONVERT (time, GETUTCDATE()) AS [GETUTCDATE()];  

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

SYSDATETIME()      13:18:45.3490361
SYSDATETIMEOFFSET()13:18:45.3490361
SYSUTCDATETIME()   20:18:45.3490361
CURRENT_TIMESTAMP  13:18:45.3470000
GETDATE()          13:18:45.3470000
GETUTCDATE()       20:18:45.3470000

Ayrıca Bkz.

CAST ve CONVERT (Transact-SQL)
Tarih ve Zaman Veri Türleri ve Fonksiyonları (Transact-SQL)