Delen via


TRY_PARSE (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-eindpunt in Microsoft FabricMagazijn in Microsoft FabricSQL-database in Microsoft Fabric

Geeft het resultaat van een expressie terug, vertaald naar het gevraagde datatype, of NULL als de cast faalt in SQL Server. Gebruik TRY_PARSE het alleen voor het converteren van string naar datum/tijd en nummertypes.

Transact-SQL syntaxis-conventies

Syntaxis

TRY_PARSE ( string_value AS data_type [ USING culture ] )

Arguments

string_value

nvarchar(4000)- waarde die de geformatteerde waarde voorstelt die geparseerd moet worden in het opgegeven datatype.

string_value moet een geldige representatie zijn van het gevraagde datatype, of TRY_PARSE geeft null terug.

data_type

Literal vertegenwoordigt het datatype dat voor het resultaat wordt gevraagd.

cultuur

Optionele string die de cultuur identificeert waarin string_value is opgemaakt.

Als het argument cultuur niet is opgegeven, wordt de taal van de huidige sessie gebruikt. Deze taal wordt impliciet of expliciet ingesteld door gebruik te maken van de SET LANGUAGE stelling. cultuur accepteert elke cultuur die wordt ondersteund door het .NET Framework. Het is niet beperkt tot de talen die expliciet door SQL Server worden ondersteund. Als het argument cultuur ongeldig is, wordt er een fout gegenereerd PARSE.

Retourtypen

Geeft het resultaat van de expressie terug, vertaald naar het gevraagde datatype, of NULL als de cast faalt.

Opmerkingen

Gebruik TRY_PARSE het alleen voor het converteren van string naar datum/tijd en nummertypes. Voor algemene typeconversies blijft u of CONVERTgebruikenCAST. Houd er rekening mee dat er een bepaalde prestatie-overhead is bij het parsen van de stringwaarde.

TRY_PARSE vertrouwt op de aanwezigheid van de .NET Framework common language runtime (CLR).

Deze functie kan niet op afstand worden uitgevoerd, omdat deze afhankelijk is van de aanwezigheid van de CLR. Het ontkoppelen van een functie die de CLR vereist, zou een fout veroorzaken op de externe server.

Meer informatie over de data_type parameter

De waarden voor de data_type-parameter zijn beperkt tot de types die in de volgende tabel worden weergegeven, samen met stijlen. De stijlinformatie wordt verstrekt om te bepalen welke soorten patronen zijn toegestaan. Voor meer informatie over stijlen, zie de .NET Framework-documentatie voor de System.Globalization.NumberStyles en DateTimeStyles enumeraties.

Categorie Typologie .NET-type Gebruikte stijlen
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 numeriek Decimal NumberStyles.Number
Numeric float Double NumberStyles.Float
Numeric echte Single NumberStyles.Float
Numeric kleingeld Decimal NumberStyles.Currency
Numeric geld Decimal NumberStyles.Currency
Datum en tijd date DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum en tijd time TimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum en tijd datetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum en tijd smalldatetime DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum en tijd datetime2 DateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum en tijd datetimeoffset DateTimeOffset DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal

Meer informatie over de culture parameter

De volgende tabel toont de mappings van SQL Server-talen naar .NET Framework-culturen.

Volledige naam Alias LCID Specifieke cultuur
us_english Engels 1033 en-US
Deutsch Duits 1031 de-DE
Français Frans 1036 fr-FR
日本語 De Japanse taal 1041 ja-JP
Dansk Deens 1030 da-DK
Español Spaans 3082 es-ES
Italiano Italiaans 1040 it-IT
Nederlands Nederlands 1043 nl-NL
Norsk Noors 2068 nn-NO
Português Portugees 2070 pt-PT
Suomi Fins 1035 fi-FI
Svenska Zweeds 1053 sv-SE
čeština Tsjechisch 1029 Cs-CZ
magyar Hongaars 1038 Hu-HU
polski Pools 1045 Pl-PL
română Roemeens 1048 Ro-RO
hrvatski Kroatisch 1050 hr-HR
slovenčina Slowaaks 1051 Sk-SK
Slovenski Sloveens 1060 Sl-SI
ελληνικά Grieks 1032 El-GR
български Bulgaars 1026 bg-BG
русский Russisch 1049 Ru-RU
Türkçe Turkse taal 1055 Tr-TR
Brits Brits-Engels 2057 en-GB
eesti Estlander 1061 Et-EE
latviešu Letse taal 1062 lv-LV
lietuvių Litouws 1063 lt-LT
Português (Brazilië) Braziliaans 1046 pt-BR
繁體中文 Traditioneel Chinees 1028 zh-TW
한국어 Koreaans 1042 Ko-KR
简体中文 Vereenvoudigd Chinees 2052 zh-CN
Arabisch Arabisch 1025 ar-SA
ไทย Thai 1054 Th-TH

Voorbeelden

Eén. Eenvoudig voorbeeld van TRY_PARSE

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

Deze query geeft een resultaat van NULL.

B. Detecteer nullen met TRY_PARSE

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

Deze query geeft een resultaat van True.

C. Gebruik IIF met TRY_PARSE en impliciete cultuur

SET LANGUAGE English;

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

Deze query geeft een resultaat van False.