SET DATEFIRST (SQL Bertransaksi)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics Analytics yesPlatform System (PDW)

Mengatur hari pertama dalam seminggu ke angka dari 1 sampai 7.

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

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

-- Syntax for SQL Server and Azure SQL Database  
  
SET DATEFIRST { number | @number_var }   
-- Syntax for Azure Synapse Analytics and Parallel Data Warehouse  
  
SET DATEFIRST 7 ;  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

Nomor | @number_var
Adalah bilangan bulat yang menunjukkan hari pertama dalam seminggu. Ini bisa menjadi salah satu nilai berikut.

Nilai Hari pertama dalam seminggu adalah
1 Senin
2 Selasa
3 Rabu
4 Kamis
5 Jumat
6 Sabtu
7 (default, Inggris A.S.) Hari Minggu

Keterangan

Untuk melihat pengaturan SET DATEFIRST saat ini, gunakan fungsi @@DATEFIRST .

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

Menentukan SET DATEFIRST tidak berpengaruh pada DATEDIFF. DATEDIFF selalu menggunakan Hari Minggu sebagai hari pertama dalam seminggu untuk memastikan fungsinya deterministik.

Izin

Memerlukan keanggotaan dalam peran publik .

Contoh

Contoh berikut menampilkan hari dalam seminggu untuk nilai tanggal dan memperlihatkan efek mengubah DATEFIRST pengaturan.

-- SET DATEFIRST to U.S. English default value of 7.  
SET DATEFIRST 7;  
  
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate  
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;  
-- January 1, 1999 is a Friday. Because the U.S. English default   
-- specifies Sunday as the first day of the week, DATEPART of 1999-1-1  
-- (Friday) yields a value of 6, because Friday is the sixth day of the   
-- week when you start with Sunday as day 1.  
  
SET DATEFIRST 3;  
-- Because Wednesday is now considered the first day of the week,  
-- DATEPART now shows that 1999-1-1 (a Friday) is the third day of the   
-- week. The following DATEPART function should return a value of 3.  
SELECT CAST('1999-1-1' AS datetime2) AS SelectDate  
    ,DATEPART(dw, '1999-1-1') AS DayOfWeek;  
GO  

Lihat juga

Pernyataan SET (Transact-SQL)