SYSDATETIME (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsTitik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Fungsi SYSDATETIME Transact-SQL (T-SQL) mengembalikan nilai datetime2(7) yang berisi tanggal dan waktu komputer tempat instance SQL Server berjalan.

Catatan

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

Azure Synapse Analytics mengikuti UTC. Gunakan AT TIME ZONE di Azure Synapse Analytics jika Anda perlu menafsirkan informasi tanggal dan waktu di zona waktu non-UTC.

Catatan

Azure SQL Database dan database SQL di Microsoft Fabric mendukung perubahan zona waktu default dari waktu terkoordinasi universal (UTC). Jika Anda memodifikasi zona waktu di tingkat basis data atau sesi , fungsi ini mengembalikan waktu lokal berdasarkan nilai zona waktu yang dikonfigurasi. Untuk informasi lebih lanjut, lihat ALTER DATABASE SCOPED CONFIGURATIONdanSET TIME ZONE.

Lihat Jenis dan fungsi data tanggal dan waktu untuk gambaran umum semua jenis dan fungsi data tanggal dan waktu Transact-SQL.

Konvensi sintaks transact-SQL

Sintaks

SYSDATETIME ( )

Tipe pengembalian

datetime2(7)

Keterangan

Transact-SQL pernyataan dapat merujuk ke SYSDATETIME mana pun mereka dapat merujuk pada ekspresi datetime2(7).

SYSDATETIME adalah fungsi nondeterministik. Anda tidak dapat mengindeks tampilan dan ekspresi yang merujuk fungsi ini dalam kolom.

Catatan

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

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.

Dalam contoh-contoh ini, asumsikan bahwa tanggal saat ini adalah 30 April 2026.

J. Dapatkan tanggal dan waktu sistem saat ini

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

Berikut set hasilnya.

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

Contoh berikut menunjukkan kepada Anda cara mengonversi nilai tanggal dan waktu ke jenis data tanggal .

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

Berikut set hasilnya.

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

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

Berikut set hasilnya.

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

Contoh: Azure Synapse Analytics

D. Dapatkan tanggal dan waktu sistem saat ini

SELECT SYSDATETIME();

Berikut set hasilnya.

--------------------------
4/30/2026 1:10:02 PM