PARSE (Transact-SQL)
Gibt das Ergebnis eines Ausdrucks zurück, der in den angeforderten Datentyp in SQL Server 2012 umgewandelt wurde.
Transact-SQL-Syntaxkonventionen
Syntax
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. Andernfalls löst PARSE einen Fehler aus.
data_type
Literalwert, der den für das Ergebnis angeforderten Datentyp darstellt.culture
Optionale Zeichenfolge, die die Kultur angibt, in der string_value formatiert wird.Wenn das culture-Argument nicht angegeben wurde, wird die Sprache der aktuellen Sitzung verwendet. Diese Sprache ist entweder implizit definiert oder wird explizit mit der Anweisung SET LANGUAGE festgelegt. culture lässt alle von .NET Framework unterstützten Kulturen zu und ist auf die explizit durch SQL Server unterstützten Sprachen beschränkt. Wenn das culture-Argument nicht gültig ist, löst PARSE einen Fehler aus.
Rückgabetypen
Gibt das Ergebnis des Ausdrucks zurück, das in den angeforderten Datentyp umgewandelt wurde.
Hinweise
NULL-Werte, die als Argumente an PARSE übergeben wurden, werden auf die zwei Arten verarbeitet:
Wenn eine NULL-Konstante übergeben wird, wird ein Fehler ausgelöst. Ein NULL-Wert kann nicht unter Berücksichtigung der Kultur in einen anderen Datentyp analysiert werden.
Wenn ein Parameter mit einem NULL-Wert zur Laufzeit übergeben wird, wird NULL zurückgegeben. So wird verhindert, dass der gesamte Batch abgebrochen wird.
Verwenden Sie PARSE nur, um eine Zeichenfolge in ein Datum und eine Uhrzeit oder in eine Zahl zu konvertieren. Für die allgemeine Typkonvertierungen sollten Sie auch weiterhin CAST oder CONVERT verwenden. Bedenken Sie, dass die Analyse des Zeichenfolgenwerts mit gewissen Leistungseinbußen verbunden ist.
Für PARSE muss .NET Framework Common Language Runtime (CLR) vorhanden sein.
Diese Funktion wird nicht remote ausgeführt, da sie die Existenz der CLR voraussetzt. Die Remoteausführung einer Funktion, die die CLR erfordert, würde einen Fehler auf dem Remoteserver auslösen.
Weitere Informationen zum data_type-Parameter
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 Formaten finden Sie in der Dokumentation zu .NET Framework in den Abschnitten zur System.Globalization.NumberStyles-Enumeration und DateTimeStyles-Enumeration.
Kategorie |
Typ |
.NET Framework-Typ |
Verwendete Formate |
---|---|---|---|
Numerisch |
bigint |
Int64 |
NumberStyles.Number |
Numerisch |
int |
Int32 |
NumberStyles.Number |
Numerisch |
smallint |
Int16 |
NumberStyles.Number |
Numerisch |
tinyint |
Byte |
NumberStyles.Number |
Numerisch |
decimal |
Decimal |
NumberStyles.Number |
Numerisch |
numeric |
Decimal |
NumberStyles.Number |
Numerisch |
float |
Double |
NumberStyles.Float |
Numerisch |
real |
Single |
NumberStyles.Float |
Numerisch |
smallmoney |
Decimal |
NumberStyles.Currency |
Numerisch |
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 culture-Parameter
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 |
de-DE |
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 |
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 |
1055 |
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 (Brasil) |
Brasilianisch |
1046 |
pt-BR |
繁體中文 |
Chinesisch (traditionell) |
1028 |
zh-TW |
한국어 |
Koreanisch |
1042 |
Ko-KR |
简体中文 |
Chinesisch (vereinfacht) |
2052 |
zh-CN |
Arabic |
Arabisch |
1025 |
ar-SA |
ไทย |
Thai |
1054 |
Th-TH |
Beispiele
A.PARSE in datetime2
SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'de-de') AS Result;
Dies ist das Resultset.
Result
---------------
2010-12-13 00:00:00.0000000
(1 row(s) affected)
B.PARSE mit Währungssymbol
SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;
Dies ist das Resultset.
Result
---------------
345.98
(1 row(s) affected)
C.PARSE mit impliziter Einstellung der Sprache
-- The English language is mapped to de-de specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;
Dies ist das Resultset.
Result
---------------
2010-12-16 00:00:00.0000000
(1 row(s) affected)