Funzione TRUNC - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python a UDFs partire dal 1° novembre 2025. Se vuoi usare Python UDFs, crea la UDFs data precedente a quella data. Python esistente UDFs continuerà a funzionare normalmente. Per ulteriori informazioni, consulta il post del blog.

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 TRUNC

La funzione TRUNC tronca i numeri all'intero o al decimale precedente.

La funzione TRUNC può facoltativamente includere un secondo argomento: INTEGER per indicare il numero di cifre decimali per l'arrotondamento, in entrambe le direzioni. Quando non si specifica il secondo argomento, la funzione viene arrotondata al numero intero più vicino. Quando il secondo argomento specificato è integer, la funzione viene arrotondata al numero più vicino con un valore integer di cifre decimali di precisione.

Questa funzione può anche troncare un TIMESTAMP e restituire DATE. Per ulteriori informazioni, consulta Funzione TRUNC.

Sintassi

TRUNC(number [ , integer ])

Argomenti

numero

Un numero o un'espressione che restituisce un numero. Può essere di tipo DECIMAL, FLOAT8 o SUPER. Altri tipi di dati possono essere convertiti da Amazon Redshift in base alle regole di conversione implicita.

integer

(Facoltativo) INTEGER che indica il numero di posizioni decimali di precisione, in entrambe le direzioni. Se non viene fornito un valore integer, il numero viene troncato come numero intero; se viene specificato un valore integer, il numero viene troncato alla posizione decimale specificata. Non è supportato per il tipo di dati SUPER.

Tipo restituito

TRUNC restituisce lo stesso tipo di dati del numero di input.

Quando l'input è di tipo SUPER, l'output mantiene lo stesso tipo dinamico dell'input mentre il tipo statico rimane il tipo SUPER. Quando il tipo dinamico SUPER non è un numero, Amazon Redshift restituisce NULL.

Esempi

La maggior parte degli esempi seguenti usa il database di esempio TICKIT. Per ulteriori informazioni, consulta Database di esempio.

Per troncare la commissione pagata per una determinata transazione di vendita, utilizza l'esempio seguente.

SELECT commission, TRUNC(commission) FROM sales WHERE salesid=784; +------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111 | +------------+-------+

Per troncare lo stesso valore della commissione alla prima posizione decimale, utilizza l'esempio seguente.

SELECT commission, TRUNC(commission,1) FROM sales WHERE salesid=784; +------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111.1 | +------------+-------+

Per troncare la commissione con un valore negativo per il secondo argomento, utilizza l'esempio seguente. Tieni presente che 111.15 è arrotondato per difetto a 110.

SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784; +------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+