SYSDATETIMEOFFSET (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL Database Azure SQL Managed Instance Azure Synapse AnalyticsSQL database di Microsoft Fabric

Fungsi SYSDATETIMEOFFSET Transact-SQL (T-SQL) mengembalikan nilai datetimeoffset(7) yang berisi tanggal dan waktu komputer tempat instance SQL Server berjalan. Offset zona waktu disertakan.

Untuk gambaran umum semua jenis dan fungsi data tanggal dan waktu Transact-SQL, lihat Jenis dan fungsi data tanggal dan waktu.

Konvensi sintaks transact-SQL

Sintaks

SYSDATETIMEOFFSET ( )

Tipe pengembalian

datetimeoffset(7)

Keterangan

Pernyataan T-SQL dapat merujuk ke SYSDATETIMEOFFSET di mana saja mereka dapat merujuk ke ekspresi datetimeoffset .

SYSDATETIMEOFFSET 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. Perlihatkan format yang dikembalikan oleh fungsi tanggal dan waktu

Contoh berikut menunjukkan berbagai format yang dikembalikan oleh fungsi tanggal dan waktu.

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. Mengonversi tanggal dan waktu ke tanggal

Contoh berikut menunjukkan kepada Anda cara mengonversi nilai tanggal dan waktu menjadi date.

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. Konversi tanggal dan waktu menjadi waktu

Contoh berikut menunjukkan kepada Anda cara mengonversi nilai tanggal dan waktu menjadi time.

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