Maison >base de données >tutoriel mysql >Comment arrondir des valeurs numériques à deux décimales en SQL ?

Comment arrondir des valeurs numériques à deux décimales en SQL ?

DDD
DDDoriginal
2025-01-07 13:22:42403parcourir

How to Round Numerical Values to Two Decimal Places in SQL?

Arrondir les valeurs numériques à deux décimales dans SQL

Arrondir les valeurs numériques à des décimales spécifiques est souvent nécessaire lors de l'affichage des données de manière cohérente et de manière précise. En SQL, cette tâche peut être accomplie à l'aide de diverses fonctions et techniques.

Exemple de scénario

Considérons la tâche de convertir des minutes en heures, arrondies à deux décimales, tandis que en veillant à ce que seuls deux chiffres soient affichés après la virgule décimale. Par exemple, convertir 650 minutes en heures devrait donner 10,83. Cependant, en utilisant la requête SQL suivante :

Select round(Minutes/60.0,2) from ....

donne un résultat de 10,5000000 pour 630 minutes. L'objectif est plutôt d'obtenir une valeur arrondie de 10,50.

Solution

Pour obtenir l'arrondi souhaité avec un contrôle précis du point décimal, vous pouvez utiliser la technique suivante :

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

La fonction round() à elle seule ne permet pas de contrôler le nombre de décimales affichées. Cependant, en convertissant la valeur arrondie en un type numérique avec une précision appropriée (par exemple, numeric(36,2)), vous pouvez limiter la sortie à deux décimales.

Explication

  • La fonction round() arrondit l'expression 630/60.0 à deux décimales, ce qui donne 10,500000.
  • La fonction cast() convertit la valeur arrondie en un type de données numérique avec une précision de 36 et une échelle de 2. Cela limite la sortie à deux décimales, tronquant tous les chiffres supplémentaires.

Résultat attendu

Exécution de la version révisée La requête SQL renvoie les résultats suivants pour les exemples donnés :

10.500000    10.50

Cela arrondit avec précision la valeur à deux décimales, affichant seulement 10,50 dans la deuxième colonne.

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