SET DATEFORMAT (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Mengatur urutan bagian tanggal bulan, hari, dan tahun untuk menginterpretasikan string karakter tanggal. String ini berjenis tanggal, smalldatetime, datetime, datetime2, atau datetimeoffset.

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

SET DATEFORMAT { format | @format_var }   

Catatan

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

Argumen

format | @format_var
Adalah urutan bagian tanggal. Parameter yang valid adalah mdy, dmy, ymd, ydm, myd, dan dym. Dapat berupa Unicode atau kumpulan karakter byte ganda (DBCS) yang dikonversi ke Unicode. Default bahasa Inggris A.S. adalah mdy. Untuk DATEFORMAT default dari semua bahasa dukungan, lihat sp_helplanguage (Transact-SQL).

Keterangan

DateFORMAT ydm tidak didukung untuk jenis data date, datetime2, dan datetimeoffset .

Pengaturan DATEFORMAT dapat menginterpretasikan string karakter secara berbeda untuk jenis data tanggal, tergantung pada format stringnya. Misalnya, interpretasi datetime dan smalldatetime mungkin tidak cocok dengan tanggal, datetime2, atau datetimeoffset. DATEFORMAT memengaruhi interpretasi string karakter saat dikonversi ke nilai tanggal untuk database. Ini tidak memengaruhi tampilan nilai tipe data tanggal, atau format penyimpanannya dalam database.

Beberapa format string karakter, misalnya ISO 8601, ditafsirkan secara independen dari pengaturan DATEFORMAT.

Pengaturan SET DATEFORMAT diatur pada waktu eksekusi atau eksekusi dan bukan pada waktu penguraian.

SET DATEFORMAT mengambil alih pengaturan format tanggal implisit DARI SET LANGUAGE.

Izin

Memerlukan keanggotaan dalam peran publik .

Contoh

Contoh berikut menggunakan string tanggal yang berbeda sebagai input dalam sesi dengan pengaturan yang sama DATEFORMAT .

-- Set date format to day/month/year.  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar DATETIME2 = '31/12/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: 2008-12-31 09:01:01.123  
SET DATEFORMAT dmy;  
GO  
DECLARE @datevar DATETIME2 = '12/31/2008 09:01:01.1234567';  
SELECT @datevar;  
GO  
-- Result: Msg 241: Conversion failed when converting date and/or time -- from character string.  
  
GO  

Lihat Juga

Pernyataan SET (Transact-SQL)