Función TRUNC - Amazon Redshift

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 o SUPER. 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 datos SUPER.

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 | +------------+-------+