Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLAzure Synapse Analytics
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Vrací výsledek výrazu, přeloženého na požadovaný datový typ, nebo NULL pokud přesání selže v SQL Serveru. Používejte TRY_PARSE pouze pro převod řetězce na datum/čas a typy čísel.
Syntaxe
TRY_PARSE ( string_value AS data_type [ USING culture ] )
Arguments
string_value
hodnota nvarchar(4000), která představuje formátovanou hodnotu pro zpracování do zadaného datového typu.
string_value musí být platnou reprezentací požadovaného datového typu, jinak TRY_PARSE vrací null.
data_type
Literal představuje požadovaný datový typ pro výsledek.
jazykové verze
Volitelný řetězec, který identifikuje kulturu, ve které je string_value formátován.
Pokud není zadaný argument jazykové verze, použije se jazyk aktuální relace. Tento jazyk je nastaven buď implicitně, nebo explicitně použitím SET LANGUAGE tohoto tvrzení.
kultura přijímá jakoukoli kulturu podporovanou .NET Frameworkem. Není omezen pouze na jazyky explicitně podporované SQL Serverem. Pokud argument jazykové verze
Návratové typy
Vrátí výsledek výrazu, přeložený na požadovaný datový typ, nebo NULL pokud přenášení selže.
Poznámky
Používejte TRY_PARSE pouze pro převod řetězce na datum/čas a typy čísel. Pro obecné převody typů pokračujte v používání CAST nebo CONVERT. Mějte na paměti, že při parsování hodnoty řetězce je určitá výkonnostní režia.
TRY_PARSE spoléhá na přítomnost běžného jazyka .NET Framework (CLR).
Tato funkce nemůže být vzdálená, protože závisí na přítomnosti modulu CLR. Vzdálené připojení funkce, která vyžaduje CLR, by způsobilo chybu na vzdáleném serveru.
Více informací o parametru data_type
Hodnoty parametru data_type jsou omezeny na typy uvedené v následující tabulce spolu se styly. Informace o stylu jsou poskytovány, aby pomohly určit, jaké typy vzorů jsou povoleny. Pro více informací o stylech viz dokumentace .NET Framework pro DateTimeStyles enumeraceSystem.Globalization.NumberStyles.
| Kategorie | Typ | Typ .NET | Používané styly |
|---|---|---|---|
| Numerický | bigint | Int64 |
NumberStyles.Number |
| Numerický | int | Int32 |
NumberStyles.Number |
| Numerický | smallint | Int16 |
NumberStyles.Number |
| Numerický | tinyint | Byte |
NumberStyles.Number |
| Numerický | decimal | Decimal |
NumberStyles.Number |
| Numerický | číselný | Decimal |
NumberStyles.Number |
| Numerický | float | Double |
NumberStyles.Float |
| Numerický | skutečné | Single |
NumberStyles.Float |
| Numerický | málo peněz | Decimal |
NumberStyles.Currency |
| Numerický | peníze | Decimal |
NumberStyles.Currency |
| Datum a čas | date | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum a čas | time | TimeSpan |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum a čas | datetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum a čas | smalldatetime | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum a čas | datetime2 | DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
| Datum a čas | datetimeoffset | DateTimeOffset |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Více informací o parametru culture
Následující tabulka ukazuje mapování z jazyků SQL Server na kultury .NET Frameworku.
| Celý název | Alias | LCID | Specifická kultura |
|---|---|---|---|
| us_english | Angličtina | 1033 | en-US |
| Deutsch | Němčina | 1031 | de-DE |
| Français | francouzský | 1036 | fr-FR |
| 日本語 | Japonština | 1041 | ja-JP |
| Dansk | Dánština | 1030 | da-DK |
| Español | Španělština | 3082 | es-ES |
| Italiano | Italština | 1040 | it-IT |
| Nederlands | Nizozemština | 1043 | nl-NL |
| Norsk | Norština | 2068 | nn-NO |
| Português | Portugalština | 2070 | pt-PT |
| Finsko | Finština | 1035 | fi-FI |
| Svenska | Švédština | 1053 | sv-SE |
| čeština | Čeština | 1029 | Cs-CZ |
| magyar | Maďarština | 1038 | Hu-HU |
| polski | Polština | 1045 | Pl-PL |
| română | Rumunština | 1048 | Ro-RO |
| hrvatski | Chorvatština | 1050 | hr-HR |
| slovenčina | Slovenština | 1051 | Sk-SK |
| Slovenski | Slovinština | 1060 | Sl-SI |
| ελληνικά | Řečtina | 1032 | El-GR |
| български | Bulharština | 1026 | bg-BG |
| русский | Ruština | 1049 | Ru-RU |
| Türkçe | Turečtina | 1055 | Tr-TR |
| Britský | Britská angličtina | 2057 | en-GB |
| eesti | Estonština | 1061 | Et-EE |
| latviešu | Lotyština | 1062 | lv-LV |
| lietuvių | Litevština | 1063 | lt-LT |
| Português (Brazílie) | Brazilský | 1046 | pt-BR |
| 繁體中文 | Tradiční čínština | 1028 | zh-TW |
| 한국어 | Korejština | 1042 | Ko-KR |
| 简体中文 | Zjednodušená čínština | 2052 | zh-CN |
| Arabština | Arabština | 1025 | ar-SA |
| ไทย | Thajština | 1054 | Th-TH |
Examples
A. Základní příklad TRY_PARSE
SELECT TRY_PARSE ('Jabberwokkie' AS DATETIME2 USING 'en-US') AS Result;
Tento dotaz vrací výsledek .NULL
B. Detekujte nuly pomocí TRY_PARSE
SELECT
CASE WHEN TRY_PARSE ('Aragorn' AS DECIMAL USING 'sr-Latn-CS') IS NULL
THEN 'True'
ELSE 'False'
END AS Result;
Tento dotaz vrací výsledek .True
C. Používejte IIF s TRY_PARSE a implicitním nastavením kultury
SET LANGUAGE English;
SELECT IIF (TRY_PARSE ('01/01/2011' AS DATETIME2) IS NULL, 'True', 'False') AS Result;
Tento dotaz vrací výsledek .False