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,FLOAT8ouSUPER. D’autres types de données peuvent être convertis par Amazon Redshift via les règles de conversion implicites. - entier
-
(Facultatif)
INTEGERqui 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éesSUPER.
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 | +------------+-------+