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.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Piattaforma di analisi (PDW)
Endpoint di analisi SQL in Microsoft Fabric
Magazzino in Microsoft Fabric
Database SQL in Microsoft Fabric
Restituisce un cast di valori al tipo di dati specificato se il cast ha esito positivo; in caso contrario, restituisce NULL.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
TRY_CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
Argomenti
data_type
Tipo di dati in cui eseguire il cast di expression.
length
Intero facoltativo che specifica la lunghezza del tipo di dati di destinazione per i tipi di dati che consentono una lunghezza specificata dall'utente. Il valore massimo per la lunghezza è 8.000 byte.
expression
Valore di cui eseguire il cast.
style
Espressione integer facoltativa che specifica la modalità di conversione TRY_CONVERT da parte della funzione.
style accetta gli stessi valori del parametro di stile della CONVERT funzione. Per altre informazioni, vedere CAST e CONVERT.
Il valore di data_type determina l'intervallo di valori accettabili. Se style è NULL, TRY_CONVERT restituisce NULL.
Tipi restituiti
Restituisce un cast di valori al tipo di dati specificato se il cast ha esito positivo; in caso contrario, restituisce NULL.
Osservazioni:
TRY_CONVERTaccetta il valore passato e tenta di convertirlo nel data_type specificato. Se il cast ha esito positivo, TRY_CONVERT restituisce il valore come data_type specificato; se si verifica un errore, NULL viene restituito . Tuttavia, se si richiede una conversione non consentita in modo esplicito, si TRY_CONVERT verifica un errore.
TRY_CONVERT è una parola chiave riservata, a partire dal livello 110di compatibilità .
Questa funzione è in grado di essere remota ai server con SQL Server 2012 (11.x) e versioni successive. Non è remoto ai server con una versione precedente a SQL Server 2012 (11.x).
Esempi
R. TRY_CONVERT restituisce NULL
Nell'esempio seguente viene illustrato che TRY_CONVERT restituisce NULL quando il cast ha esito negativo.
SELECT
CASE WHEN TRY_CONVERT(FLOAT, 'test') IS NULL
THEN 'Cast failed'
ELSE 'Cast succeeded'
END AS Result;
GO
Il set di risultati è il seguente.
Result
------------
Cast failed
Nell'esempio seguente viene dimostrato che l'espressione deve essere nel formato previsto.
SET DATEFORMAT dmy;
SELECT TRY_CONVERT(DATETIME2, '12/31/2022') AS Result;
GO
Il set di risultati è il seguente.
Result
----------------------
NULL
B. TRY_CONVERT restituisce un errore
Nell'esempio seguente viene illustrato 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é non è possibile eseguire il cast di un numero intero in un 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/2022') AS Result;
GO
Il set di risultati è il seguente.
Result
----------------------------------
2022-12-31 00:00:00.0000000