Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Funzione CONVERT
Analogamente allaFunzione CAST, la funzione CONVERT converte un tipo di dati in un altro tipo di dati compatibile. Ad esempio, puoi convertire una stringa in una data o un tipo numerico in una stringa. CONVERT esegue una conversione in fase di runtime, il che significa che la conversione non modifica il tipo di dati di un valore in una tabella di origine. Viene modificato solo nel contesto della query.
Alcuni tipi di dati richiedono una conversione esplicita in altri tipi di dati utilizzando la funzione CONVERT. Altri tipi di dati possono essere convertiti implicitamente, come parte di un altro comando, senza utilizzare CAST o CONVERT. Per informazioni, consulta Conversione e compatibilità dei tipi.
Sintassi
CONVERT ( type, expression )
Argomenti
- tipo
-
Uno dei tipi di dati supportatiTipi di dati, ad eccezione dei tipi di dati VARBYTE, BINARY e BINARY VARIYING.
- espressione
-
Un'espressione che valuta uno o più valori, ad esempio un nome di colonna o un letterale. La conversione di valori null restituisce null. L'espressione non può contenere stringhe vuote o vuote.
Tipo restituito
CONVERT restituisce il tipo di dati specificato dall'argomento tipo.
Nota
AWS Clean Rooms restituisce un errore se si tenta di eseguire una conversione problematica, ad esempio una conversione DECIMAL che perde precisione, come la seguente:
SELECT CONVERT(decimal(2,1), 123.456);
o una conversione INTEGER che provoca un eccesso:
SELECT CONVERT(smallint, 12345678);
Esempi
La seguente query utilizza la funzione CONVERT per convertire una colonna di decimali in numeri interi
SELECT CONVERT(integer, pricepaid) FROM sales WHERE salesid=100;
Questo esempio converte un numero intero in una stringa di caratteri.
SELECT CONVERT(char(4), 2008);
In questo esempio, la data e l'ora correnti vengono convertite in un tipo di dati di caratteri variabili:
SELECT CONVERT(VARCHAR(30), GETDATE());
getdate --------- 2023-02-02 04:31:16
Questo esempio converte la colonna saletime nella sola ora, rimuovendo le date da ogni riga.
SELECT CONVERT(time, saletime), salesid FROM sales order by salesid limit 10;
L'esempio seguente converte i dati di caratteri variabili in un oggetto datetime.
SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;