Maison >base de données >tutoriel mysql >Comment arrondir avec précision des nombres à deux décimales en SQL ?

Comment arrondir avec précision des nombres à deux décimales en SQL ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-07 13:27:41885parcourir

How to Precisely Round Numbers to Two Decimal Places in SQL?

Comment arrondir des valeurs à deux décimales avec précision en SQL

Lorsqu'il s'agit de calculs numériques en SQL, la précision est souvent cruciale. Arrondir les valeurs à un nombre spécifique de décimales garantit l'exactitude et la lisibilité des données.

Problème :

Vous devez convertir les minutes en heures, arrondies à deux décimales. . Cependant, l'utilisation de la fonction round() seule peut entraîner des décimales supplémentaires, telles que 10,5000000 au lieu du 10,50 souhaité.

Solution :

Pour obtenir la précision souhaitée , utilisez le cast() fonction :

select
    round(minutes/60.0,2),
    cast(round(minutes/60.0,2) as numeric(36,2))

Explication :

  • La fonction round() arrondit le résultat de minutes/60,0 à deux décimales.
  • La fonction cast() convertit ensuite la valeur arrondie en un type de données numérique avec une précision de 36 (pour gérer les erreurs d'arrondi potentielles) et une échelle de 2 (pour deux décimales).
  • Cela garantit que le résultat est arrondi à deux décimales sans aucune décimale supplémentaire affichée.

Exemple :

Si la variable minutes contient une valeur de 630 :

select
    round(630/60.0,2),
    cast(round(630/60.0,2) as numeric(36,2))

Retours :

10.500000    10.50

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn