Aracılığıyla paylaş


TRY_PARSE (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric'te SQL analitiği uç noktasıMicrosoft Fabric'te DepoMicrosoft Fabric'te SQL veritabanı

Bir ifadenin sonucunu, istenen veri türüne çevrilmiş veya NULL SQL Server'da yayın başarısız olursa döndürür. Sadece dizilerden tarih/saat ve sayı türlerine dönüştürmek için kullanılır TRY_PARSE .

Transact-SQL söz dizimi kuralları

Sözdizimi

TRY_PARSE ( string_value AS data_type [ USING culture ] )

Arguments

string_value

nvarchar(4000) değeri, tanımlanan veri türüne ayrıştırmak üzere biçimlendirilmiş değeri temsil eder.

string_value , istenen veri türünün geçerli bir temsili olmalı veya TRY_PARSE null döndürmelidir.

data_type

Kelime yüzden, sonuç için istenen veri tipini temsil eder.

kültür

string_value biçimlendirildiği kültürü tanımlayan isteğe bağlı bir dizedir.

kültür bağımsız değişkeni sağlanmazsa geçerli oturumun dili kullanılır. Bu dil, ifadenin kullanılmasıyla ya örtük ya da açık SET LANGUAGE olarak belirlenir. kültür , .NET Framework tarafından desteklenen herhangi bir kültürü kabul eder. SQL Server tarafından açıkça desteklenen dillerle sınırlı değildir. kültür bağımsız değişkeni geçerli değilse PARSE bir hata oluşturur.

Dönüş türleri

İfadenin sonucunu, istenen veri türüne çevrilmiş veya NULL döküm başarısız olursa döndürür.

Açıklamalar

Sadece dizilerden tarih/saat ve sayı türlerine dönüştürmek için kullanılır TRY_PARSE . Genel tip dönüşümleri için veya CONVERTkullanmaya devam CAST edin. Diz değerini ayrıştırırken belirli bir performans yükü olduğunu unutmayın.

TRY_PARSE .NET Framework ortak dil çalışma zamanının (CLR) varlığına dayanır.

CLR'nin varlığına bağlı olduğundan bu işlev uzaktan kullanılamaz. CLR gerektiren bir fonksiyonu uzaklaştırmak uzak sunucuda hata yaratır.

Parametre hakkında data_type daha fazla bilgi

data_type parametresinin değerleri, aşağıdaki tabloda gösterilen türlerle ve stillerle sınırlıdır. Stil bilgileri, hangi kalıpların izin verildiğini belirlemeye yardımcı olmak için sağlanır. Stiller hakkında daha fazla bilgi için, .NET Framework dokümantasyonuna bakınızSystem.Globalization.NumberStyles.DateTimeStyles

Kategori Türü .NET türü Kullanılan Stiller
Numeric bigint Int64 NumberStyles.Number
Numeric int Int32 NumberStyles.Number
Numeric smallint Int16 NumberStyles.Number
Numeric tinyint Byte NumberStyles.Number
Numeric decimal Decimal NumberStyles.Number
Numeric Sayısal Decimal NumberStyles.Number
Numeric float Double NumberStyles.Float
Numeric Gerçek Single NumberStyles.Float
Numeric küçük para Decimal NumberStyles.Currency
Numeric para Decimal NumberStyles.Currency
Tarih ve Saat date DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tarih ve Saat time TimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tarih ve Saat datetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tarih ve Saat smalldatetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tarih ve Saat datetime2 DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Tarih ve Saat datetimeoffset DateTimeOffset DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal

Parametre hakkında culture daha fazla bilgi

Aşağıdaki tablo, SQL Server dillerinden .NET Framework kültürlerine eşlemeleri göstermektedir.

Adı ve soyadı Diğer ad LCID Özel kültür
us_english İngilizce 1033 en-US
Deutsch Almanca 1031 de-DE
Fransa Fransızca 1036 fr-FR
日本語 Japonca 1041 ja-JP
Dansk Danca 1030 da-DK
Español İspanyolca 3082 es-ES
İtalyanca İtalyanca 1040 it-IT
Nederlands Flemenkçe 1043 nl-NL
Norsk Norveççe 2068 nn-NO
Portekiz Portekizce 2070 pt-PT
Suomi Fince 1035 fi-FI
Svenska İsveç dili 1053 sv-SE
čeština Çekçe 1029 Cs-CZ
magyar Macarca 1038 Hu-HU
polski Lehçe dili 1045 Pl-PL
română Rumence 1048 Ro-RO
hrvatski Hırvatça 1050 hr-HR
slovenčina Slovakça 1051 Sk-SK
Slovenski Slovakça 1060 Sl-SI
ελληνικά Yunanca 1032 El-GR
български Bulgarca 1026 bg-BG
русский Rusça 1049 Ru-RU
Türkçe Türkçe 1055 Tr-TR
Ingiliz Britanya İngilizcesi 2057 en-GB
eesti Estonyaca 1061 Et-EE
latviešu Letonca 1062 lv-LV
lietuvių Litvanca 1063 lt-LT
Português (Brezilya) Brezilyalı 1046 pt-BR
繁體中文 Geleneksel Çince 1028 zh-TW
한국어 Korece 1042 Ko-KR
简体中文 Basitleştirilmiş Çince 2052 zh-CN
Arapça Arapça 1025 ar-SA
ไทย Tayland 1054 Th-TH

Örnekler

A. Temel TRY_PARSE

SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;

Bu sorgu sonucunu döndürür.NULL

B. Null'ları TRY_PARSE

SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
     THEN 'True'
     ELSE 'False'
END AS Result;

Bu sorgu sonucunu döndürür.True

C. IIF ile TRY_PARSE ve örtük kültür ayarı kullanın

SET LANGUAGE English;

SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;

Bu sorgu sonucunu döndürür.False