PARSE (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
Restituisce il risultato di un'espressione, convertito nel tipo di dati richiesto in SQL Server.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
PARSE ( string_value AS data_type [ USING culture ] )
Argomenti
string_value
Valore nvarchar(4000) che rappresenta il valore formattato da analizzare nel tipo di dati specificato.
string_value deve essere una rappresentazione valida del tipo di dati richiesto, altrimenti PARSE genera un errore.
data_type
Valore letterale che rappresenta il tipo di dati richiesto per il risultato.
Impostazioni cultura
Stringa facoltativa che identifica le impostazioni cultura in cui viene formattato string_value.
Se l'argomento culture non è specificato, viene usata la lingua della sessione corrente. Tale lingua viene impostata in modo implicito o in modo esplicito tramite l'istruzione SET LANGUAGE. culture accetta qualsiasi impostazione cultura supportata da .NET Framework e non è limitato alle lingue supportate in modo esplicito da SQL Server. Se l'argomento culture non è valido, PARSE genera un errore.
Tipi restituiti
Restituisce il risultato dell'espressione, convertito nel tipo di dati richiesto.
Osservazioni:
Eventuali valori Null passati come argomenti a PARSE vengono trattati in due modalità:
Se viene passata una costante Null, viene generato un errore. Un valore Null non può essere analizzato in un tipo di dati diverso in modo consapevole.
Se viene passato un parametro con valore Null in fase di esecuzione, viene restituito un valore Null per evitare di annullare l'intero batch.
Utilizzare PARSE solo per la conversione da stringa a data/ora e tipi di numero. Per le conversioni di tipi generali, continuare a utilizzare CAST o CONVERT. È opportuno ricordare che si verifica un sovraccarico nelle prestazioni durante l'analisi del valore stringa.
PARSE è basato sulla presenza di CLR (Common Language Runtime) di .NET Framework.
Questa funzione non sarà eseguita in modalità remota poiché dipende dalla presenza di CLR. L'esecuzione in modalità remota di una funzione che richiede CLR provocherebbe un errore sul server remoto.
Ulteriori informazioni sul parametro data_type
I valori per il parametro data_type sono limitati ai tipi visualizzati nella tabella seguente, insieme con gli stili. Le informazioni sugli stili vengono fornite per determinare i tipi di modelli consentiti. Per altre informazioni sugli stili, vedere la documentazione di .NET Framework relativa alle enumerazioni System.Globalization.NumberStyles e DateTimeStyles.
Categoria | Type | Tipo .NET Framework | Stili utilizzati |
---|---|---|---|
Numerico | bigint | Int64 | NumberStyles.Number |
Numerico | int | Int32 | NumberStyles.Number |
Numerico | smallint | Int16 | NumberStyles.Number |
Numerico | tinyint | Byte | NumberStyles.Number |
Numerico | decimale | Decimale | NumberStyles.Number |
Numeric | numeric | Decimale | NumberStyles.Number |
Numerico | float | Double | NumberStyles.Float |
Numerico | real | Singola | NumberStyles.Float |
Numerico | smallmoney | Decimale | NumberStyles.Currency |
Numerico | money | Decimale | NumberStyles.Currency |
Data e ora | data | Data/Ora | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Data e ora | Ora | TimeSpan | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Data e ora | datetime | DataOra | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Data e ora | smalldatetime | Data/Ora | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Data e ora | datetime2 | Data/Ora | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Data e ora | datetimeoffset | DateTimeOffset | DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Ulteriori informazioni sul parametro relativo alle impostazioni cultura
Nella tabella seguente vengono mostrati i mapping dai linguaggi SQL Server alle impostazioni cultura di .NET Framework.
Nome completo | Alias | LCID | Impostazioni cultura specifiche |
---|---|---|---|
us_english | italiano | 1033 | en-US |
Deutsch | Tedesco | 1031 | de-DE |
Français | Francese | 1036 | fr-FR |
日本語 | Giapponese | 1041 | ja-JP |
Dansk | Danese | 1030 | da-DK |
Español | Spagnolo | 3082 | es-ES |
Italiano | Italiano | 1040 | it-IT |
Nederlands | Olandese | 1043 | nl-NL |
Norsk | Norvegese | 2068 | nn-NO |
Português | Portoghese | 2070 | pt-PT |
Suomi | Finlandese | 1035 | fi-FI |
Svenska | Svedese | 1053 | sv-SE |
čeština | Ceco | 1029 | Cs-CZ |
magyar | Ungherese | 1038 | Hu-HU |
polski | Polacco | 1045 | Pl-PL |
română | Rumeno | 1048 | Ro-RO |
hrvatski | Croato | 1050 | hr-HR |
slovenčina | Slovacco | 1051 | Sk-SK |
slovenski | Sloveno | 1060 | Sl-SI |
ελληνικά | Greco | 1032 | El-GR |
български | Bulgaro | 1026 | bg-BG |
русский | Russo | 1049 | Ru-RU |
Türkçe | Turco | 1055 | Tr-TR |
British | Inglese (Regno Unito) | 2057 | En-GB |
eesti | Estone | 1061 | Et-EE |
latviešu | Lettone | 1062 | lv-LV |
lietuvių | Lituano | 1063 | lt-LT |
Português (Brasile) | Portoghese (Brasile) | 1046 | pt-BR |
繁體中文 | Cinese tradizionale | 1028 | zh-TW |
한국어 | Coreano | 1042 | Ko-KR |
简体中文 | Cinese semplificato | 2052 | zh-CN |
Arabo | Arabo | 1025 | ar-SA |
ไทย | Thai | 1054 | Th-TH |
Esempi
R. PARSE in datetime2
SELECT PARSE('Monday, 13 December 2010' AS datetime2 USING 'en-US') AS Result;
Il set di risultati è il seguente.
Result
---------------
2010-12-13 00:00:00.0000000
(1 row(s) affected)
B. PARSE con simbolo di valuta
SELECT PARSE('€345,98' AS money USING 'de-DE') AS Result;
Il set di risultati è il seguente.
Result
---------------
345.98
(1 row(s) affected)
C. PARSE con impostazione implicita di linguaggio
-- The English language is mapped to en-US specific culture
SET LANGUAGE 'English';
SELECT PARSE('12/16/2010' AS datetime2) AS Result;
Il set di risultati è il seguente.
Result
---------------
2010-12-16 00:00:00.0000000
(1 row(s) affected)