SET DATEFORMAT (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Tarih karakter dizelerini yorumlamak için ay, gün ve yıl tarih bölümlerinin sırasını belirler. Bu dizilerle date,smalldatetime, datetime, datetime2 veya datetimeoffset türleri vardır.

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

SET DATEFORMAT { format | @format_var }   

Arguments

biçim | @format_var
Tarih bölümlerinin sırasıdır. Geçerli parametreler mdy, dmy, ymd, ydm, myd ve dym'dir. Unicode veya çift baytlı karakter kümeleri (DBCS) Unicode'a dönüştürülebilir. ABD İngilizcesi varsayılan olarak mdy. Tüm destek dillerinin varsayılan DATEFORMAT noktası için bkz. sp_helplanguage (Transact-SQL).

Açıklamalar

YDM, DATEFORMATdatetime2 ve datetimeoffset veri türleri için desteklenmiyor.

Ayar, DATEFORMAT karakter dizelerini, tarih veri türleri için farklı şekilde yorumlayabilir; bu da dize formatına bağlı olarak değişebilir. Örneğin, datetime ve smalldatetime yorumları date, datetime2 veya datetimeoffset ile eşleşmeyebilir. DATEFORMAT karakter dizilerinin veritabanı için tarih değerlerine dönüştürüldüğü şekilde yorumlanmasını etkiler. Bu, tarih veri tipi değerlerinin görüntülenmesini veya veritabanındaki depolama formatını etkilemez.

Bazı karakter dizisi formatları, örneğin ISO 8601, ayardan DATEFORMAT bağımsız olarak yorumlanır.

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

SET DATEFORMAT örtük tarih formatı ayarını geçersiz SET LANGUAGEkılar.

Permissions

"" genel "" rolüne üyelik gerektirir.

Örnekler

Aşağıdaki örnek, aynı DATEFORMAT ayarla sahip oturumlarda farklı tarih dizileri giriş olarak kullanılır.

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

Ayrıca Bkz.

SET İfadeler (Transact-SQL)