CONVERTfunzione - Amazon Redshift

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à.

CONVERTfunzione

Analogamente alla CASTfunzione, la CONVERT funzione 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. CONVERTesegue una conversione in fase di esecuzione, 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 CONVERT funzione. 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 metodi supportati Tipi di dati.

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 o spazi vuoti.

Tipo restituito

CONVERTrestituisce il tipo di dati specificato dall'argomento type.

Nota

Amazon Redshift restituisce un errore se tenti di eseguire una conversione problematica, ad esempio una DECIMAL conversione che perde precisione, come la seguente:

SELECT CONVERT(decimal(2,1), 123.456);

o una INTEGER conversione che causa un overflow:

SELECT CONVERT(smallint, 12345678);

Esempi

Alcuni esempi utilizzano il TICKITdatabase di esempio. Per ulteriori informazioni sull'impostazione dei dati di esempio, consulta Load data.

La seguente query utilizza la CONVERT funzione 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;

Per informazioni sulla conversione di un timestamp da un fuso orario a un altro, consulta Funzione CONVERT_TIMEZONE. Per ulteriori funzioni di data e ora, consulta Funzioni di data e ora.

L'esempio seguente converte i dati di caratteri variabili in un oggetto datetime.

SELECT CONVERT(datetime, '2008-02-18 02:36:48') as mysaletime;
Nota

Non è possibile eseguire un'CONVERToperazione CAST or sul tipo di GEOMETRY dati per cambiarlo in un altro tipo di dati. Tuttavia, è possibile fornire una rappresentazione esadecimale di una stringa letterale in un noto formato esteso binary (EWKB) come input per funzioni che accettano un argomento. GEOMETRY Ad esempio, la seguente funzione ST_AsText si aspetta un tipo di dati GEOMETRY.

SELECT ST_AsText('01010000000000000000001C400000000000002040');
st_astext ------------ POINT(7 8)

È anche possibile specificare esplicitamente il tipo di dati GEOMETRY.

SELECT ST_AsText('010100000000000000000014400000000000001840'::geometry);
st_astext ------------ POINT(5 6)