SYSDATETIME (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Mengembalikan nilai datetime2(7) yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan.

Catatan

SYSDATETIME dan SYSUTCDATETIME memiliki lebih banyak presisi detik pecahan daripada GETDATE dan GETUTCDATE. SYSDATETIMEOFFSET mencakup offset zona waktu sistem. SYSDATETIME, SYSUTCDATETIME, dan SYSDATETIMEOFFSET dapat ditetapkan ke variabel dari salah satu jenis tanggal dan waktu.

Azure SQL Database (dengan pengecualian Azure SQL Managed Instance) dan Azure Synapse Analytics mengikuti UTC. Gunakan ZONA WAKTU AT di Azure SQL Database atau Azure Synapse Analytics jika Anda perlu menginterpretasikan informasi tanggal dan waktu di zona waktu non-UTC.

Untuk gambaran umum semua jenis dan fungsi data tanggal dan waktu Transact-SQL, lihat Jenis dan Fungsi Data Tanggal dan Waktu (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaksis

SYSDATETIME ( )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Jenis Hasil

datetime2(7)

Keterangan

Pernyataan T-SQL dapat merujuk ke SYSDATETIME di mana saja mereka dapat merujuk ke ekspresi datetime2(7).

SYSDATETIME adalah fungsi nondeterministik. Tampilan dan ekspresi yang mereferensikan fungsi ini dalam kolom tidak dapat diindeks.

Catatan

SQL Server mendapatkan nilai tanggal dan waktu dengan menggunakan GetSystemTimeAsFileTime() Windows API. Akurasi tergantung pada perangkat keras komputer dan versi Windows tempat instans SQL Server berjalan. Presisi API ini diperbaiki pada 100 nanodetik. Akurasi dapat ditentukan dengan menggunakan GetSystemTimeAdjustment() Windows API.

Contoh

Contoh berikut menggunakan enam fungsi sistem SQL Server yang mengembalikan tanggal dan waktu saat ini untuk mengembalikan tanggal, waktu, atau keduanya. Nilai dikembalikan dalam seri; oleh karena itu, detik pecahannya mungkin berbeda.

J. Mendapatkan tanggal dan waktu sistem saat ini

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. Mendapatkan tanggal sistem saat ini

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. Mendapatkan waktu sistem saat ini

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  
*/  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

D: Mendapatkan tanggal dan waktu sistem saat ini

SELECT SYSDATETIME();  

Berikut adalah hasil yang ditetapkan.

--------------------------  
7/20/2013 2:49:59 PM

Lihat Juga

CAST dan CONVERT (Transact-SQL)
Tipe dan Fungsi Data Tanggal dan Waktu (Transact-SQL)