Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce un cast del valore nel tipo di dati specificato se il cast ha esito positivo. In caso contrario, restituisce Null.
Convenzioni della sintassi Transact-SQL
Sintassi
TRY_CONVERT ( data_type [ ( length ) ], expression [, style ] )
Argomenti
data_type [ ( length ) ]
Tipo di dati in cui eseguire il cast expression.expression
Il valore di cui eseguire il cast.style
Espressione intera che specifica il modo in cui la funzione TRY_CONVERT viene utilizzata per convertire expression.style accetta gli stessi valori del parametro style della funzione CONVERT. Per ulteriori informazioni, vedere CAST e CONVERT (Transact-SQL).
L'intervallo di valori accettabili è determinato dal valore di data_type. Se style è Null, TRY_CONVERT restituisce Null.
Tipi restituiti
Restituisce un cast del valore nel tipo di dati specificato se il cast ha esito positivo. In caso contrario, restituisce Null.
Osservazioni
TRY_CONVERT accetta il valore passato e tenta di convertirlo nel tipo di dati data_type specificato. Se il cast ha esito positivo, TRY_CONVERT restituisce il valore come l'elemento data_type specificato. Se si verifica un errore, viene restituito Null. Se tuttavia si richiede una conversione non consentita in modo esplicito, TRY_CONVERT restituisce un errore.
TRY_CONVERT è una nuova parola chiave con livello di compatibilità 110.
Questa funzione può essere eseguita in modalità remota in server con versione SQL Server 2012 e successive, ma non in server con versioni precedenti a SQL Server 2012.
Esempi
A.TRY_CONVERT restituisce Null
Nell'esempio seguente viene dimostrato che TRY_CONVERT restituisce Null quando il cast non riesce.
SELECT
CASE WHEN TRY_CONVERT(float, 'test') IS NULL
THEN 'Cast failed'
ELSE 'Cast succeeded'
END AS Result;
GO
Set di risultati:
Result
------------
Cast failed
(1 row(s) affected)
Nell'esempio seguente viene dimostrato che l'espressione deve essere nel formato previsto.
SET DATEFORMAT dmy;
SELECT TRY_CONVERT(datetime2, '12/31/2010') AS Result;
GO
Set di risultati:
Result
----------------------
NULL
(1 row(s) affected)
B.TRY_CONVERT restituisce un errore
Nell'esempio seguente viene dimostrato che TRY_CONVERT restituisce un errore quando il cast non è consentito in modo esplicito.
SELECT TRY_CONVERT(xml, 4) AS Result;
GO
Il risultato di questa istruzione è un errore perché il cast di un tipo di dati Integer non può essere eseguito nel tipo di dati xml.
Explicit conversion from data type int to xml is not allowed.
C.TRY_CONVERT ha esito positivo
In questo esempio viene dimostrato che l'espressione deve essere nel formato previsto.
SET DATEFORMAT mdy;
SELECT TRY_CONVERT(datetime2, '12/31/2010') AS Result;
GO
Set di risultati:
Result
----------------------------------
2010-12-31 00:00:00.0000000
(1 row(s) affected)