Aracılığıyla paylaş


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ı

SQL Server'da istenen veri türüne çevrilen bir ifadenin sonucunu döndürür.

Transact-SQL söz dizimi kuralları

Sözdizimi

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 talep edilen veri türünün geçerli bir temsili olmalı, aksi takdirde PARSE hata oluşturur.

data_type
Sonuç için istenen veri türünü temsil eden literal değer.

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

Kültür argümanı sunulmazsa, mevcut oturumun dili kullanılır. Bu dil ya örtük olarak ya da açıkça SET LANGUAGE ifadesi kullanılarak ayarlanır. kültür , .NET Framework tarafından desteklenen her kültürü kabul eder; yalnızca SQL Server tarafından açıkça desteklenen dillerle sınırlı değildir. Kültür argümanı geçerli değilse, PARSE bir hata ortaya çıkarır.

Dönüş Türleri

İfadenin sonucunu istenen veri türüne çevirir.

Açıklamalar

PARSE'ye argüman olarak iletilen null değerler iki şekilde ele alınır:

  1. Bir null sabit geçilirse, hata oluşur. Bir null değer, kültürel olarak bilinçli bir şekilde farklı bir veri türüne ayrıştırılamaz.

  2. Çalışma zamanında null değerli bir parametre iletilirse, tüm parti iptal edilmemesi için null döner.

PARSE'i yalnızca diziden tarih/saat ve sayı türlerine dönüştürmek için kullanın. Genel tip dönüşümleri için CAST veya CONVERT kullanmaya devam edin. Dize değerini ayrıştırırken belirli bir performans yükü olduğunu unutmayın.

PARSE, .NET Framework Ortak Dil Çalışma Zamanının (CLR) varlığına dayanır.

Bu fonksiyon uzaktan kaldırılmaz, çünkü CLR'nin varlığına bağlıdır. CLR gerektiren bir fonksiyonu uzaklaştırmak uzak sunucuda hata yaratır.

data_type parametresi hakkında 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, System.Globalization.NumberStyles ve DateTimeStyles enumerations için .NET Framework dokümantasyonuna bakınız.

Kategori Türü .NET Framework türü Kullanılan Stiller
Numeric bigint Int64 NumberStyles.Number
Numeric int Int32 NumberStyles.Number
Numeric smallint Int16 NumberStyles.Number
Numeric tinyint Bayt NumberStyles.Number
Numeric decimal Decimal NumberStyles.Number
Numeric sayısal Decimal NumberStyles.Number
Numeric yüzmek Double NumberStyles.Float
Numeric real Single NumberStyles.Float
Numeric küçükpara 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 tarih/zaman 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

Kültür parametresi hakkında 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. PARSE into datetime2

SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;  

Sonuç kümesi aşağıdadır.

Result  
---------------  
2010-12-13 00:00:00.0000000  
  
(1 row(s) affected)  

B. Para birimi sembolü ile PARSE

SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;  

Sonuç kümesi aşağıdadır.

Result  
---------------  
345.98  
  
(1 row(s) affected)  

C. Dilin örtük ayarıyla PARSE

-- The English language is mapped to en-US specific culture  
SET LANGUAGE 'English';  
SELECT PARSE('12/16/2010' AS datetime2) AS Result;  

Sonuç kümesi aşağıdadır.

Result  
---------------  
2010-12-16 00:00:00.0000000  
  
(1 row(s) affected)