TRY_PARSE (Transact-SQL)TRY_PARSE (Transact-SQL)

DIESES THEMA GILT FÜR:jaSQL Server (ab 2012)jaAzure SQL-DatenbankneinAzure SQL Data Warehouse neinParallel Data Warehouse THIS TOPIC APPLIES TO:yesSQL Server (starting with 2012)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Gibt das Ergebnis eines Ausdrucks zurück, das in den angeforderten Datentyp übersetzt wurde. Schlägt die Umwandlung in SQL ServerSQL Server fehl, wird NULL zurückgegeben.Returns the result of an expression, translated to the requested data type, or null if the cast fails in SQL ServerSQL Server. Verwenden Sie TRY_PARSE nur, um eine Zeichenfolge in ein Datum und eine Uhrzeit oder in eine Zahl zu konvertieren.Use TRY_PARSE only for converting from string to date/time and number types.

Themenlinksymbol Transact-SQL Syntax Conventions (Transact-SQL-Syntaxkonventionen)Topic link icon Transact-SQL Syntax Conventions

SyntaxSyntax


TRY_PARSE ( string_value AS data_type [ USING culture ] )  

ArgumenteArguments

Zeichenfolgenwertstring_value
nvarchar(4000) Wert, der den formatierten Wert in den angegebenen Datentyp analysiert darstellt.nvarchar(4000) value representing the formatted value to parse into the specified data type.

Zeichenfolgenwert muss eine gültige Darstellung des angeforderten Datentyps oder TRY_PARSE Null zurück.string_value must be a valid representation of the requested data type, or TRY_PARSE returns null.

data_typedata_type
Literal, das für das Ergebnis angeforderten Datentyp darstellt.Literal representing the data type requested for the result.

Kulturculture
Optionale Zeichenfolge, die identifiziert die Kultur, in der Zeichenfolgenwert formatiert ist.Optional string that identifies the culture in which string_value is formatted.

Wenn das culture -Argument nicht angegeben wurde, wird die Sprache der aktuellen Sitzung verwendet.If the culture argument is not provided, the language of the current session is used. Diese Sprache wird entweder implizit oder explizit mithilfe der Anweisung SET LANGUAGE festgelegt.This language is set either implicitly or explicitly by using the SET LANGUAGE statement. Kultur lässt alle von .NET Framework unterstützten Kulturen es gibt keine Beschränkung, die explizit von unterstützten Sprachen SQL ServerSQL Server.culture accepts any culture supported by the .NET Framework; it is not limited to the languages explicitly supported by SQL ServerSQL Server. Wenn die Kultur Argument ist ungültig, Analyse löst einen Fehler aus.If the culture argument is not valid, PARSE raises an error.

RückgabetypenReturn Types

Gibt das Ergebnis des Ausdrucks zurück, das in den angeforderten Datentyp übersetzt wurde. Schlägt die Umwandlung fehl, wird NULL zurückgegeben.Returns the result of the expression, translated to the requested data type, or null if the cast fails.

HinweiseRemarks

Verwenden Sie TRY_PARSE nur, um eine Zeichenfolge in ein Datum und eine Uhrzeit oder in eine Zahl zu konvertieren.Use TRY_PARSE only for converting from string to date/time and number types. Für die allgemeine Typkonvertierungen sollten Sie auch weiterhin CAST oder CONVERT verwenden.For general type conversions, continue to use CAST or CONVERT. Bedenken Sie, dass die Analyse des Zeichenfolgenwerts mit gewissen Leistungseinbußen verbunden ist.Keep in mind that there is a certain performance overhead in parsing the string value.

Für TRY_PARSE muss .NET Framework Common Language Runtime (CLR) vorhanden sein.TRY_PARSE relies on the presence of .the .NET Framework Common Language Runtime (CLR).

Diese Funktion wird nicht remote ausgeführt, da sie die Existenz der CLR voraussetzt.This function will not be remoted since it depends on the presence of the CLR. Die Remoteausführung einer Funktion, die die CLR erfordert, würde einen Fehler auf dem Remoteserver auslösen.Remoting a function that requires the CLR would cause an error on the remote server.

Weitere Informationen zum Data_type-parameterMore information about the data_type parameter

Die Werte für die Data_type Parameter sind auf die Typen in der folgenden Tabelle sowie die zugehörigen Formate beschränkt.The values for the data_type parameter are restricted to the types shown in the following table, together with styles. Die Formatinformationen werden bereitgestellt, um die Ermittlung der zulässigen Mustertypen zu unterstützen.The style information is provided to help determine what types of patterns are allowed. Weitere Informationen zu Formaten finden Sie unter .NET Framework-Dokumentation für die System.Globalization.NumberStyles und DateTimeStyles Enumerationen.For more information on styles, see the .NET Framework documentation for the System.Globalization.NumberStyles and DateTimeStyles enumerations.

KategorieCategory TypType .NET-Typ.NET type Verwendete FormateStyles used
NumerischNumeric bigintbigint Int64Int64 NumberStyles.NumberNumberStyles.Number
NumerischNumeric intint Int32Int32 NumberStyles.NumberNumberStyles.Number
NumerischNumeric smallintsmallint Int16Int16 NumberStyles.NumberNumberStyles.Number
NumerischNumeric tinyinttinyint ByteByte NumberStyles.NumberNumberStyles.Number
NumerischNumeric decimaldecimal DecimalDecimal NumberStyles.NumberNumberStyles.Number
NumerischNumeric numericnumeric DecimalDecimal NumberStyles.NumberNumberStyles.Number
NumerischNumeric floatfloat DoubleDouble NumberStyles.FloatNumberStyles.Float
NumerischNumeric realreal SingleSingle NumberStyles.FloatNumberStyles.Float
NumerischNumeric smallmoneysmallmoney DecimalDecimal NumberStyles.CurrencyNumberStyles.Currency
NumerischNumeric moneymoney DecimalDecimal NumberStyles.CurrencyNumberStyles.Currency
Datum und UhrzeitDate and Time Datumdate DateTimeDateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum und UhrzeitDate and Time Uhrzeittime TimeSpanTimeSpan DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum und UhrzeitDate and Time DateTimedatetime DateTimeDateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum und UhrzeitDate and Time smalldatetimesmalldatetime DateTimeDateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum und UhrzeitDate and Time datetime2datetime2 DateTimeDateTime DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal
Datum und UhrzeitDate and Time datetimeoffsetdatetimeoffset DateTimeOffsetDateTimeOffset DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversalDateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal

Weitere Informationen zum Culture-parameterMore information about the culture parameter

In der folgenden Tabelle werden die Zuordnungen von SQL ServerSQL Server-Sprachen zu .NET Framework-Kulturen angezeigt.The following table shows the mappings from SQL ServerSQL Server languages to .NET Framework cultures.

Vollständiger NameFull name AliasAlias LCIDLCID Bestimmte KulturSpecific culture
us_englishus_english EnglischEnglish 10331033 de-DEen-US
DeutschDeutsch DeutschGerman 10311031 de-DEde-DE
FrançaisFrançais FranzösischFrench 10361036 fr-FRfr-FR
日本語日本語 JapanischJapanese 10411041 ja-JPja-JP
DanskDansk DänischDanish 10301030 da-DKda-DK
EspañolEspañol SpanischSpanish 30823082 es-ESes-ES
ItalianoItaliano ItalienischItalian 10401040 it-ITit-IT
NederlandsNederlands NiederländischDutch 10431043 nl-NLnl-NL
NorskNorsk NorwegischNorwegian 20682068 nn-NOnn-NO
PortuguêsPortuguês PortugiesischPortuguese 20702070 pt-PTpt-PT
SuomiSuomi FinnischFinnish 10351035 fifi
SvenskaSvenska SchwedischSwedish 10531053 sv-SEsv-SE
Češtinačeština TschechischCzech 10291029 Cs-CZCs-CZ
magyarmagyar UngarischHungarian 10381038 Hu-HUHu-HU
polskipolski PolnischPolish 10451045 Pl-PLPl-PL
românăromână RumänischRomanian 10481048 Ro-RORo-RO
hrvatskihrvatski KroatischCroatian 10501050 hr-HRhr-HR
slovenčinaslovenčina SlowakischSlovak 10511051 Sk-SKSk-SK
slovenskislovenski SlowenischSlovenian 10601060 Sl-SISl-SI
ΕΛΛΗΝΙΚΆελληνικά GriechischGreek 10321032 El-GREl-GR
БЪЛГАРСКИбългарски BulgarischBulgarian 10261026 bg-BGbg-BG
РУССКИЙрусский RussischRussian 10491049 Ru-RURu-RU
TürkçeTürkçe TürkischTurkish 10551055 Tr-TRTr-TR
BritishBritish Englisch (britisch)British English 20572057 en-GBen-GB
eestieesti EstnischEstonian 10611061 Et-EEEt-EE
latviešulatviešu LettischLatvian 10621062 lv-LVlv-LV
lietuviųlietuvių LitauischLithuanian 10631063 lt-LTlt-LT
Português (Brasil)Português (Brasil) BrasilianischBrazilian 10461046 pt-BRpt-BR
繁體中文繁體中文 Chinesisch (traditionell)Traditional Chinese 10281028 zh-TWzh-TW
한국어한국어 KoreanischKorean 10421042 Ko-KRKo-KR
简体中文简体中文 Chinesisch (vereinfacht)Simplified Chinese 20522052 zh-CNzh-CN
ArabischArabic ArabischArabic 10251025 ar-SAar-SA
ไทยไทย ThaiThai 10541054 Th-THTh-TH

BeispieleExamples

A.A. Einfaches Beispiel für TRY_PARSESimple example of TRY_PARSE

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

Im Folgenden finden Sie das Resultset.Here is the result set.

Result  
---------------  
NULL  

(1 row(s) affected)  

B.B. Erkennen von NULL-Werten mit TRY_PARSEDetecting nulls with TRY_PARSE

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

Im Folgenden finden Sie das Resultset.Here is the result set.

Result  
---------------  
True  

(1 row(s) affected)  

C.C. Verwenden von IIF mit TRY_PARSE und impliziter KultureinstellungUsing IIF with TRY_PARSE and implicit culture setting

SET LANGUAGE English;  
SELECT IIF(TRY_PARSE('01/01/2011' AS datetime2) IS NULL, 'True', 'False') AS Result;  

Im Folgenden finden Sie das Resultset.Here is the result set.

Result  
---------------  
False  

(1 row(s) affected)  

Siehe auchSee Also

PARSE ( Transact-SQL ) PARSE (Transact-SQL)
Konvertierungsfunktionen ( Transact-SQL ) Conversion Functions (Transact-SQL)
TRY_CONVERT ( Transact-SQL ) TRY_CONVERT (Transact-SQL)
CAST und CONVERT (Transact-SQL)CAST and CONVERT (Transact-SQL)