Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank in Microsoft Fabric
Gibt das Ergebnis eines Ausdrucks zurück, übersetzt in den angeforderten Datentyp, oder NULL falls der Cast in SQL Server fehlschlägt. Verwenden TRY_PARSE Sie es nur zur Umwandlung von Zeichenketten zu Datums-/Uhrzeit- und Zahlentypen.
Transact-SQL-Syntaxkonventionen
Syntax
TRY_PARSE ( string_value AS data_type [ USING culture ] )
Argumente
string_value
nvarchar(4000)-Wert, der den formatierten Wert darstellt, der als angegebener Datentyp analysiert werden soll.
string_value muss eine gültige Darstellung des angeforderten Datentyps sein oder TRY_PARSE null zurückgeben.
data_type
Literal, das den für das Ergebnis angeforderten Datentyp darstellt.
culture
Optionale Zeichenfolge, die die Kultur angibt, in der string_value formatiert wird.
Wenn das Kulturargument nicht angegeben wird, wird die Sprache der aktuellen Sitzung verwendet. Diese Sprache wird entweder implizit oder explizit durch die Verwendung der Aussage SET LANGUAGE festgelegt.
Kultur akzeptiert jede Kultur, die vom .NET Framework unterstützt wird. Es ist nicht auf die von SQL Server explizit unterstützten Sprachen beschränkt. Wenn das Kulturargument ungültig ist, PARSE wird ein Fehler ausgelöst.
Rückgabetypen
Gibt das Ergebnis des Ausdrucks zurück, übersetzt in den angeforderten Datentyp, oder NULL wenn der Cast fehlschlägt.
Bemerkungen
Verwenden TRY_PARSE Sie es nur zur Umwandlung von Zeichenketten zu Datums-/Uhrzeit- und Zahlentypen. Für allgemeine Typumwandlungen verwenden CAST Sie weiterhin oder CONVERT. Beachte, dass es einen bestimmten Performance-Overhead beim Parsen des String-Werts gibt.
TRY_PARSE beruht auf der Existenz des .NET Framework Common Language Runtime (CLR).
Diese Funktion kann nicht entfernt werden, da sie vom Vorhandensein der CLR abhängt. Die Remoteausführung einer Funktion, die die CLR erfordert, würde einen Fehler auf dem Remoteserver auslösen.
Weitere Informationen zum Parameter data_type
Die Werte für den data_type-Parameter sind auf die in der folgenden Tabelle dargestellten Typen sowie die zugehörigen Formate beschränkt. Die Formatinformationen werden bereitgestellt, um die Ermittlung der zulässigen Mustertypen zu unterstützen. Weitere Informationen zu Stilen finden Sie in der .NET Framework-Dokumentation für die System.Globalization.NumberStyles und DateTimeStyles Enumerations.
| Category | type | .NET-Typ | Verwendete Formate |
|---|---|---|---|
| Numeric | bigint | Int64 |
NumberStyles.Number |
| Numeric | int | Int32 |
NumberStyles.Number |
| Numeric | smallint | Int16 |
NumberStyles.Number |
| Numeric | tinyint | Byte |
NumberStyles.Number |
| Numeric | dezimal | Decimal |
NumberStyles.Number |
| Numeric | numerisch | Decimal |
NumberStyles.Number |
| Numeric | schweben | Double |
NumberStyles.Float |
| Numeric | real | Single |
NumberStyles.Float |
| Numeric | smallmoney | Decimal |
NumberStyles.Currency |
| Numeric | money | Decimal |
NumberStyles.Currency |
| Datum und Uhrzeit | date | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum und Uhrzeit | time | TimeSpan |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum und Uhrzeit | datetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum und Uhrzeit | smalldatetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum und Uhrzeit | datetime2 | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum und Uhrzeit | datetimeoffset | DateTimeOffset |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Weitere Informationen zum Parameter culture
In der folgenden Tabelle werden die Zuordnungen von SQL Server-Sprachen zu .NET Framework-Kulturen angezeigt.
| Vollständiger Name | Alias | LCID | Bestimmte Kultur |
|---|---|---|---|
| us_english | Englisch | 1033 | en-US |
| Deutsch | Deutsch | 1031 | de-DE |
| Français | Französisch | 1036 | fr-FR |
| 日本語 | Japanisch | 1041 | ja-JP |
| Dansk | Dänisch | 1030 | da-DK |
| Español | Spanisch | 3082 | es-ES |
| Italiano | Italienisch | 1040 | it-IT |
| Nederlands | Niederländisch | 1043 | nl-NL |
| Norsk | Norwegisch | 2068 | nn-NO |
| Português | Portugiesisch | 2070 | pt-PT |
| Suomi | Finnisch | 1035 | fi-FI |
| Svenska | Schwedisch | 1053 | sv-SE |
| čeština | Tschechisch | 1029 | Cs-CZ |
| magyar | Ungarisch | 1038 | Hu-HU |
| polski | Polnisch | 1045 | Pl-PL |
| română | Rumänisch | 1048 | Ro-RO |
| hrvatski | Kroatisch | 1050 | hr-HR |
| slovenčina | Slowakisch | 1051 | Sk-SK |
| slovenski | Slowenisch | 1060 | Sl-SI |
| ελληνικά | Griechisch | 1032 | El-GR |
| български | Bulgarisch | 1026 | bg-BG |
| русский | Russisch | 1049 | Ru-RU |
| Türkçe | Türkisch | 1.055 | Tr-TR |
| British | Englisch (britisch) | 2057 | en-GB |
| eesti | Estnisch | 1061 | Et-EE |
| latviešu | Lettisch | 1062 | lv-LV |
| lietuvių | Litauisch | 1063 | lt-LT |
| Português (Brasilien) | Brasilianisch | 1046 | pt-BR |
| 繁體中文 | Chinesisch (traditionell) | 1028 | zh-TW |
| 한국어 | Koreanisch | 1042 | Ko-KR |
| 简体中文 | Chinesisch (vereinfacht) | 2052 | zh-CN |
| Arabisch | Arabisch | 1025 | ar-SA |
| ไทย | Thailändisch | 1054 | Th-TH |
Beispiele
A. Grundlegendes Beispiel für TRY_PARSE
SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;
Diese Abfrage liefert ein Ergebnis von NULL.
B. Nulls mit TRY_PARSE erkennen
SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
THEN 'True'
ELSE 'False'
END AS Result;
Diese Abfrage liefert ein Ergebnis von True.
C. Verwenden Sie IIF mit TRY_PARSE und impliziter Kultureinstellung
SET LANGUAGE English;
SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;
Diese Abfrage liefert ein Ergebnis von False.