SET DATEFIRST (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

Haftanın ilk gününü 1 ile 7 arasında bir sayıya ayarlar.

Tüm Transact-SQL tarih ve saat veri türlerine ve işlevlerine genel bakış için bkz. Tarih ve Saat Veri Türleri ve İşlevleri (Transact-SQL).

Transact-SQL söz dizimi kuralları

Sözdizimi

SQL Server ve Azure SQL Veritabanı söz dizimi

SET DATEFIRST { number | @number_var }   

Azure Synapse Analytics ve Paralel Veri Ambarı söz dizimi

SET DATEFIRST 7 ;  

Arguments

sayı | @number_var

Haftanın ilk gününü gösteren bir tamsayıdır. Aşağıdaki değerlerden biri olabilir.

Değer Haftanın ilk günü
1 Pazartesi
2 Tuesday
3 Çarşamba
4 Perşembe
5 Cuma
6 Cumartesi
7 (varsayılan, ABD İngilizcesi) Pazar

Açıklamalar

Mevcut ayarını SET DATEFIRSTgörmek için @@DATEFIRST fonksiyonunu kullanın.

Ayarları SET DATEFIRST işleme veya çalıştırma zamanında ayarlanır, ayrıştırma zamanında değil.

Belirtmek SET DATEFIRST DATEDIFF üzerinde bir etkisi yoktur. DATEDIFF işlevin belirleyici olmasını sağlamak için her zaman haftanın ilk günü olarak Pazar'ı kullanır.

Tüm SET Açıklamalar gibi, SET DATEFIRST mevcut oturumu etkiler.

Permissions

genel rolüne üyelik gerektirir.

Örnekler

Aşağıdaki örnek, bir tarih değeri için haftanın gününü görüntüler ve ayarı değiştirmenin DATEFIRST etkilerini gösterir.

-- 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