Función TRUNC
La función TRUNC trunca los números hasta el valor entero o decimal anterior.
La función TRUNC puede incluir, de forma opcional, un segundo argumento como un valor INTEGER
que indique la cantidad de lugares decimales para el redondeo, sea cual sea la dirección. Cuando no se proporciona el segundo argumento, la función redondea al número entero más cercano. Cuando se especifica el segundo argumento integer, la función redondea al número más cercano con una precisión de hasta integer decimales.
Esta función también puede truncar un TIMESTAMP
y devolver una DATE
. Para obtener más información, consulte Función TRUNC.
Sintaxis
TRUNC(number [ , integer ])
Argumentos
- número
-
Un número o una expresión que toma el valor de un número. Puede ser el tipo
DECIMAL
,FLOAT8
oSUPER
. Amazon Redshift puede convertir otros tipos de datos de acuerdo con las reglas de conversión implícitas. - integer
-
(Opcional) Un número
INTEGER
que indica la cantidad de lugares decimales de precisión, sea cual sea la dirección. Si no se proporciona un valor entero, el número se trunca como un número entero; si se especifica un número entero, el número se trunca hasta el lugar decimal especificado. Esto no es compatible con el tipo de datosSUPER
.
Tipo de retorno
TRUNC devuelve el mismo tipo de datos que el número de entrada.
Cuando la entrada es del tipo SUPER
, la salida conserva el mismo tipo dinámico que la entrada mientras que el tipo estático sigue siendo el tipo SUPER
. Cuando el tipo dinámico de SUPER
no es un número, Amazon Redshift devuelve NULL
.
Ejemplos
Algunos de los ejemplos siguientes utilizan la base de datos de ejemplo TICKIT. Para obtener más información, consulte Base de datos de muestra.
Para truncar la comisión pagada para una transacción dada de ventas, utilice el siguiente ejemplo.
SELECT commission, TRUNC(commission) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111 | +------------+-------+
Para truncar el mismo valor de comisión hasta el primer lugar decimal, utilice el siguiente ejemplo.
SELECT commission, TRUNC(commission,1) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 111.1 | +------------+-------+
Para truncar la comisión con un valor negativo para el segundo argumento, utilice el siguiente ejemplo. Tenga en cuenta que 111.15
se redondea a 110
.
SELECT commission, TRUNC(commission,-1) FROM sales WHERE salesid=784;
+------------+-------+ | commission | trunc | +------------+-------+ | 111.15 | 110 | +------------+-------+