Fonction TRUNC - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

Fonction TRUNC

La fonction TRUNC tronque les nombres à l’entier ou à la décimale précédente.

La fonction TRUNC peut éventuellement inclure un second argument sous forme d’INTEGER pour indiquer le nombre de décimales pour l’arrondi, dans les deux sens. Lorsque vous ne fournissez pas le second argument, la fonction arrondit au nombre entier le plus proche. Lorsque le second argument integer est spécifié, la fonction arrondit au nombre le plus proche avec une précision de integer décimales.

Cette fonction peut également tronquer une valeur TIMESTAMP et renvoyer une valeur DATE. Pour plus d’informations, consultez Fonction TRUNC.

Syntaxe

TRUNC(number [ , integer ])

Arguments

number

Nombre ou expression ayant pour valeur un nombre. Il peut être de type DECIMAL, FLOAT8 ou SUPER. D’autres types de données peuvent être convertis par Amazon Redshift via les règles de conversion implicites.

entier

(Facultatif) INTEGER qui indique le nombre de décimales de précision, dans les deux sens. Si aucun nombre entier n’est fourni, le nombre est tronqué en tant que nombre entier ; si un nombre entier est spécifié, le nombre est tronqué à la décimale spécifiée. Ceci n’est pas pris en charge pour le type de données SUPER.

Type de retour

TRUNC renvoie le même type de données numérique que celui du nombre en entrée.

Quand l’entrée est de type SUPER, la sortie conserve le même type dynamique que l’entrée, tandis que le type statique reste le type SUPER. Quand le type dynamique de SUPER n’est pas un nombre, Amazon Redshift renvoie NULL.

Exemples

Certains des exemples suivants utilisent l’exemple de base de données TICKIT. Pour plus d’informations, consultez Exemple de base de données.

Pour tronquer la commission payée pour une transaction de vente donnée, utilisez l’exemple suivant.

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

Pour tronquer la même valeur de commission que la première décimale, utilisez l’exemple suivant.

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

Pour tronquer la commission avec une valeur négative pour le deuxième argument, utilisez l’exemple suivant. Notez que 111.15 est arrondi vers le bas à 110.

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