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à.
TRUNCfunzione
La TRUNC funzione tronca i numeri al numero intero o decimale precedente.
La TRUNC funzione 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
oSUPER
. 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 datiSUPER
.
Tipo restituito
TRUNCrestituisce 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
Alcuni dei seguenti esempi utilizzano il database TICKIT di esempio. 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 | +------------+-------+