Bagikan melalui


SYSUTCDATETIME (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSistem Platform Analitik (PDW)Titik akhir analitik SQL di Microsoft FabricGudang di Microsoft FabricDatabase SQL di Microsoft Fabric

Mengembalikan nilai datetime2 yang berisi tanggal dan waktu komputer tempat instans SQL Server berjalan. Tanggal dan waktu dikembalikan sebagai waktu UTC (Waktu Universal Terkoordinasi). Spesifikasi presisi kedua pecahan memiliki rentang 1 hingga 7 digit. Presisi default adalah 7 digit.

Pertimbangkan:

  • 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 jenis tanggal dan waktu.

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

Syntax

SYSUTCDATETIME ( )

Tipe pengembalian

datetime2

Remarks

Transact-SQL pernyataan dapat merujuk ke SYSUTCDATETIME mana saja mereka dapat merujuk ke ekspresi datetime2 .

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

Note

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.

Examples

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.

A. Perlihatkan format yang dikembalikan oleh fungsi tanggal dan waktu

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

SELECT SYSDATETIME() AS [SYSDATETIME()],
       SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()],
       SYSUTCDATETIME() AS [SYSUTCDATETIME()],
       CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP],
       GETDATE() AS [GETDATE()],
       GETUTCDATE() AS [GETUTCDATE()];

Berikut set hasilnya.

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

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());

Berikut set hasilnya.

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

C. Mengonversi nilai tanggal dan waktu ke waktu

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

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

Berikut set hasilnya.

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