SYSDATETIME (Transact-sql)
Döner bir datetime2(7)bilgisayarın saati ve tarihi içeren değeri örneği SQL Serverçalışıyor.
[!NOT]
SYSDATETIME ve SYSUTCDATETIME, GETDATE ve GETUTCDATE'ten daha fazla kesirli saniye kesinliğine sahiptir. SYSDATETIMEOFFSET, sistem saat dilimi uzaklığını içerir. SYSDATETIME, SYSUTCDATETIME ve SYSDATETIMEOFFSET, tarih ve saat türlerindeki herhangi bir değişkene atanabilir.
Tüm genel bakış için Transact-SQLbkz: Tarih ve Saat veri türleri ve işlevler, Tarih ve Saat veri türleri ve işlevler (Transact-sql). Bilgi ve Tarih ve Saat veri türleri ve işlevleri ortaktır örnekler için bkz: Using Date and Time Data.
Transact-SQL Sözdizim Kuralları
Sözdizimi
SYSDATETIME ( )
Dönüş Türü
datetime2(7)
Açıklamalar
Transact-SQLdeyimleri SYSDATETIME için her yerde onlar için gelebilir gelebilir bir datetime2(7)ifade.
SYSDATETIME nondeterministic bir işlevdir. Bir sütundaki bu işleve başvuran görünüm ve ifadeler dizinlenemez.
[!NOT]
SQL Server 2012Tarih ve Saat değerlerini kullanarak alır GetSystemTimeAsFileTime()Windows API'si. Bilgisayar donanımı ve Windows sürümünde hangi doğruluğu bağlıdır örneği SQL Serverçalışıyor. Bu API duyarlığını 100 nanosaniye sabittir. Doğruluğu kullanarak belirlenebilir GetSystemTimeAdjustment()Windows API'si.
Örnekler
Aşağıdaki örnekler, altı kullanın SQL Servergeçerli tarih ve saati tarihini döndürmek için zaman döndüren sistem işlevleri veya her ikisini birden. Değerler bir dizide döndürülür, bu yüzden kesirli saniyeleri farklı olabilir.
A.Geçerli sistem tarih ve saatini alma
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/* Returned:
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
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/* Returned:
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.Geçerli sistem tarihini alma
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
/* All returned 2007-04-30 */
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
/* All returned 2007-04-30 */
C.Geçerli sistem saatini alma
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, SYSDATETIMEOFFSET())
,CONVERT (time, SYSUTCDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE())
,CONVERT (time, GETUTCDATE());
/* Returned
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
*/
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, SYSDATETIMEOFFSET())
,CONVERT (time, SYSUTCDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE())
,CONVERT (time, GETUTCDATE());
/* Returned
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
*/