Aracılığıyla paylaş


TARIH FORMATINI AYARLAMA (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'ı için bkz. sp_helplanguage (Transact-SQL).

Açıklamalar

DATEFORMAT ydm, datetime2 ve datetimeoffset veri tipleri için desteklenmez.

DATEFORMAT ayarı, tarih veri türleri için karakter dizelerini, dizin formatına bağlı olarak farklı şekilde yorumlayabilir. Örneğin, datetime ve smalldatetime yorumları date, datetime2 veya datetimeoffset ile eşleşmeyebilir. DATEFORMAT, karakter dizelerinin veritabanı için tarih değerlerine dönüştürüldüğü şeklinde 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, DATEFORMAT ayarından bağımsız olarak yorumlanır.

SET DATEFORMAT ayarı, ayrıştırma zamanında değil, çalıştırma veya çalışma zamanında ayarlanır.

SET DATEFORMAT, SET LANGUAGE'in örtük tarih formatı ayarını geçersiz kı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 Deyimleri (Transact-SQL)