Sdílet prostřednictvím


PARSE (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsKoncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrací výsledek výrazu, který je přeložen na požadovaný datový typ v SQL Serveru.

Transact-SQL konvence syntaxe

Syntaxe

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 PARSE zobrazí chybu.

data_type
Literální hodnota reprezentující 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í uveden argument kultury , použije se jazyk aktuální sekce. Tento jazyk je nastaven buď implicitně, nebo explicitně pomocí příkazu SET LANGUAGE. kultura přijímá jakoukoli kulturu podporovanou .NET Frameworkem; není omezen pouze na jazyky explicitně podporované SQL Serverem. Pokud argument kultury není platný, PARSE uvádí chybu.

Návratové typy

Vrátí výsledek výrazu, přeložený na požadovaný datový typ.

Poznámky

Nulové hodnoty předávané jako argumenty do PARSE se zpracovávají dvěma způsoby:

  1. Pokud je předána nulová konstanta, objeví se chyba. Nulová hodnota nemůže být kulturně uvědomělá do jiného datového typu analyzována.

  2. Pokud je parametr s nulovou hodnotou předán za běhu, vrátí se null, aby se zabránilo zrušení celé dávky.

PARSE používejte pouze pro převod řetězců na typy dat/času a čí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žie.

PARSE spoléhá na přítomnost .NET Framework Common Language Runtime (CLR).

Tato funkce nebude vzdálená, protože závisí na přítomnosti 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 dokumentaci .NET Framework pro výčty System.Globalization.NumberStyles a DateTimeStyles .

Kategorie Typ Typ rozhraní .NET Framework Používané styly
Numerický bigint Int64 NumberStyles.Number
Numerický int Int32 NumberStyles.Number
Numerický smallint Int16 NumberStyles.Number
Numerický tinyint Byte NumberStyles.Number
Numerický desítkové číslo Decimal NumberStyles.Number
Numerický číselný Decimal NumberStyles.Number
Numerický float Double NumberStyles.Float
Numerický real Single NumberStyles.Float
Numerický drobné peníze 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 kultury

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. PARSE do datetime2

SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;  

Tady je soubor výsledků.

Result  
---------------  
2010-12-13 00:00:00.0000000  
  
(1 row(s) affected)  

B. PARSE se se symbolem měny

SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;  

Tady je soubor výsledků.

Result  
---------------  
345.98  
  
(1 row(s) affected)  

C. PARSE s implicitním nastavením jazyka

-- The English language is mapped to en-US specific culture  
SET LANGUAGE 'English';  
SELECT PARSE('12/16/2010' AS datetime2) AS Result;  

Tady je soubor výsledků.

Result  
---------------  
2010-12-16 00:00:00.0000000  
  
(1 row(s) affected)