Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
Visszaadja egy kifejezés eredményét, amelyet a kért adattípusra fordítanak, vagy NULL ha az cast meghibásodik az SQL Serverben. Csak a láncsorból dátum/idő és számtípusokra történő átalakításra használják TRY_PARSE .
Transact-SQL szintaxis konvenciók
Szemantika
TRY_PARSE ( string_value AS data_type [ USING culture ] )
Arguments
string_value
nvarchar(4000) érték, amely a formázott értéket jelöli, amelyet a megadott adattípusba lehet parzálni.
string_value érvényes reprezentációnak kell lennie a kért adattípusnak, vagy TRY_PARSE null értéket kell adnia.
data_type
A literális az eredményhez kért adattípust jelöli.
kultúra
Opcionális string, amely meghatározza azt a kultúrát, amelyben string_value formázódik.
Ha a kultúra argumentum nincs megadva, a rendszer az aktuális munkamenet nyelvét használja. Ezt a nyelvezetet implicit vagy explicit módon állítják be az állítás SET LANGUAGE használatával.
a kultúra elfogad minden olyan kultúrát, amelyet a .NET keretrendszer támogat. Nem korlátozódik az SQL Server által kifejezetten támogatott nyelvekre. Ha a kultúra argumentum érvénytelen, PARSE hibát jelez.
Visszatérési típusok
Visszaadja a kifejezés eredményét, amelyet a kért adattípusra fordítanak, vagy NULL ha a cast sikertelenül működik.
Megjegyzések
Csak a láncsorból dátum/idő és számtípusokra történő átalakításra használják TRY_PARSE . Általános típusváltásokhoz továbbra CAST is az vagy CONVERT-t használjuk. Ne feledd, hogy a string értékének elemzése bizonyos teljesítményterheléssel jár.
TRY_PARSE a .NET Framework közös nyelvi runtime (CLR) jelenlétére támaszkodik.
Ez a függvény nem távolható el, mivel a CLR jelenlététől függ. Egy CLR-t igénylő funkció távolítása hibát okozna a távoli szerveren.
További információk a data_type paraméterről
A data_type paraméter értékei a következő táblázatban látható típusokra korlátozódnak, stílusokkal együtt. A stílusinformációk segítenek meghatározni, milyen minták engedélyezettek. További információért a stílusokról lásd a .NET Framework dokumentációját az System.Globalization.NumberStyles és DateTimeStyles az enumerációkhoz.
| Kategória | Típus | .NET-típus | Használt stílusok |
|---|---|---|---|
| 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 | Numerikus | Decimal |
NumberStyles.Number |
| Numeric | float | Double |
NumberStyles.Float |
| Numeric | valódi | Single |
NumberStyles.Float |
| Numeric | smallmoney | Decimal |
NumberStyles.Currency |
| Numeric | pénz | Decimal |
NumberStyles.Currency |
| Dátum és idő | date | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Dátum és idő | time | TimeSpan |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Dátum és idő | datetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Dátum és idő | smalldatetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Dátum és idő | datetime2 | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Dátum és idő | datetimeoffset | DateTimeOffset |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
További információk a culture paraméterről
Az alábbi táblázat az SQL Server nyelvek és .NET Framework kultúrák közötti leképezéseit mutatja.
| Teljes név | Alias | LCID | Specifikus kultúra |
|---|---|---|---|
| us_english | Angol | 1033 | en-US |
| Deutsch | Német | 1031 | de-DE |
| Français | Francia | 1036 | fr-FR |
| 日本語 | Japán | 1041 | ja-JP |
| Dansk | Dán | 1030 | da-DK |
| Español | Spanyol | 3082 | es-ES |
| Italiano | Olasz | 1040 | it-IT |
| Nederlands | Holland | 1043 | nl-NL |
| Norsk | Norvég | 2068 | nn-NO |
| Portugágia | Portugál | 2070 | pt-PT |
| Suomi | finn nyelv | 1035 | fi-FI |
| Svenska | Svéd | 1053 | sv-SE |
| čeština | Cseh | 1029 | Cs-CZ |
| magyar | Magyar | 1038 | Hu-HU |
| polski | Lengyel | 1045 | Pl-PL |
| română | Román | 1048 | Ro-RO |
| hrvatski | Horvát | 1050 | hr-HR |
| slovenčina | Szlovák | 1051 | Sk-SK |
| Slovenski | Szlovén | 1060 | Sl-SI |
| ελληνικά | Görög | 1032 | El-GR |
| български | Bolgár | 1026 | bg-BG |
| русский | Orosz | 1049 | Ru-RU |
| Türkçe | Török | 1055 | Tr-TR |
| Brit | Brit angol | 2057 | en-GB |
| eesti | Észt | 1061 | Et-EE |
| latviešu | lett | 1062 | lv-LV |
| lietuvių | Litván | 1063 | lt-LT |
| Português (Brazília) | Brazil | 1046 | pt-BR |
| 繁體中文 | Hagyományos kínai | 1028 | zh-TW |
| 한국어 | Koreai | 1042 | Ko-KR |
| 简体中文 | Egyszerűsített kínai | 2052 | zh-CN |
| Arab nyelv | Arab nyelv | 1025 | ar-SA |
| ไทย | thai | 1054 | Th-TH |
Példák
A. Alapvető példa a TRY_PARSE
SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;
Ez a lekérdezés az eredményt adja: NULL.
B. Nullák észlelése TRY_PARSE
SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
THEN 'True'
ELSE 'False'
END AS Result;
Ez a lekérdezés az eredményt adja: True.
C. Használj IIF-et TRY_PARSE és implicit kultúra beállítással
SET LANGUAGE English;
SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;
Ez a lekérdezés az eredményt adja: False.