TRY_PARSE (Transact-SQL)
Viene restituito il risultato di un'espressione convertito nel tipo di dati richiesto. Se il cast non viene eseguito in modo corretto in SQL Server viene restituito Null. Utilizzare TRY_PARSE solo per la conversione da stringa a data/ora e tipi di numero.
Si applica a: SQL Server (SQL Server 2008 tramite versione corrente), Database SQL di Windows Azure (versione iniziale tramite versione corrente). |
Convenzioni della sintassi Transact-SQL
Sintassi
TRY_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. In caso contrario, viene restituito Null da TRY_PARSE.
data_type
Valore letterale che rappresenta il tipo di dati richiesto per il risultato.culture
Stringa facoltativa tramite cui vengono identificate le impostazioni cultura in cui viene formattato string_value.Se l'argomento culture non è specificato, viene utilizzata la lingua della sessione corrente. La lingua in questione viene impostata in modo implicito o esplicito tramite l'istruzione SET LANGUAGE. Tramite culture viene accettata 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. Se il cast non viene eseguito in modo corretto, restituisce Null.
Osservazioni
Utilizzare TRY_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.
TRU_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 mostrati nella tabella seguente, insieme con gli stili. Le informazioni sugli stili vengono fornite per determinare i tipi di modelli consentiti. Per ulteriori informazioni sugli stili, vedere la documentazione di .NET Framework per le enumerazioni System.Globalization.NumberStyles e DateTimeStyles.
Category |
Tipo |
Tipo .NET |
Stili utilizzati |
---|---|---|---|
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 |
numeric |
Decimal |
NumberStyles.Number |
Numeric |
float |
Double |
NumberStyles.Float |
Numeric |
real |
Single |
NumberStyles.Float |
Numeric |
smallmoney |
Decimal |
NumberStyles.Currency |
Numeric |
money |
Decimal |
NumberStyles.Currency |
Date e Time |
date |
DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date e Time |
time |
TimeSpan |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date e Time |
datetime |
DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date e Time |
smalldatetime |
DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date e Time |
datetime2 |
DateTime |
DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal |
Date e Time |
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 |
Inglese |
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 |
Svenska |
Svedese |
1053 |
sv-SE |
čeština |
Ceco |
1029 |
Cs-CZ |
magyar |
Ungherese |
1038 |
Hu-HU |
polski |
Polacco |
1045 |
Pl-PL |
română |
Romeno |
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 (Gran Bretagna) |
2057 |
en-GB |
eesti |
Estone |
1061 |
Et-EE |
latviešu |
Lettone |
1062 |
lv-LV |
lietuvių |
Lituano |
1063 |
lt-LT |
Português (Brasil) |
Brasiliano |
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
A.Esempio semplice di TRY_PARSE
SELECT TRY_PARSE('Jabberwokkie' AS datetime2 USING 'en-US') AS Result;
Set di risultati:
Result
---------------
NULL
(1 row(s) affected)
B.Rilevamento di valori Null con TRY_PARSE
SELECT
CASE WHEN TRY_PARSE('Aragorn' AS decimal USING 'sr-Latn-CS') IS NULL
THEN 'True'
ELSE 'False'
END
AS Result;
Set di risultati:
Result
---------------
True
(1 row(s) affected)
C.Utilizzo di IIF con TRY_PARSE e impostazioni cultura implicite
SET LANGUAGE English;
SELECT IIF(TRY_PARSE('01/01/2011' AS datetime2) IS NULL, 'True', 'False') AS Result;
Set di risultati:
Result
---------------
False
(1 row(s) affected)