Aracılığıyla paylaş


SYSUTCDATETIME (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

SQL Server örneğinin çalıştığı bilgisayarın tarih ve saatini içeren bir datetime2 değeri döndürür. Tarih ve saat UTC saati (Eşgüdümlü Evrensel Saat) olarak döndürülür. Kesirli ikinci duyarlık belirtimi 1 ile 7 basamak arasında bir aralığa sahiptir. Varsayılan duyarlık 7 basamaktır.

Aşağıdakileri dikkate alın:

  • SYSDATETIME ve SYSUTCDATETIME değerinden daha fazla kesirli saniye duyarlığı GETDATEGETUTCDATEvardır.

  • SYSDATETIMEOFFSET sistem saat dilimi uzaklığını içerir.

  • SYSDATETIME, SYSUTCDATETIMEve SYSDATETIMEOFFSET tarih ve saat türlerinden herhangi birinin değişkenine atanabilir.

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ı

Syntax

SYSUTCDATETIME ( )

Dönüş türleri

datetime2

Remarks

Transact-SQL deyimleri SYSUTCDATETIME ifadesine başvurabilecekleri her yere başvurabilir.

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

Note

SQL Server, Windows API'sini kullanarak GetSystemTimeAsFileTime() tarih ve saat değerlerini alır. 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, Windows API'sini GetSystemTimeAdjustment() kullanarak belirlenebilir.

Examples

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

Aşağıdaki örnekte tarih ve saat değerlerinin tarih veri türüne nasıl dönüştürüldüğü gösterilmektedir.

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.

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

C. Tarih ve saat değerlerini saate dönüştürme

Aşağıdaki örnekte tarih ve saat değerlerini saat veri türüne nasıl dönüştürdüğünüz gösterilmektedir.

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

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

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