Maison  >  Article  >  base de données  >  En quoi les fonctions CEILING() et FLOOR() diffèrent-elles de la fonction ROUND() dans MySQL ?

En quoi les fonctions CEILING() et FLOOR() diffèrent-elles de la fonction ROUND() dans MySQL ?

WBOY
WBOYavant
2023-09-07 10:25:021470parcourir

La fonction

在 MySQL 中,CEILING() 和 FLOOR() 函数与 ROUND() 函数有何不同?

CEILING() renvoie la plus petite valeur entière qui n'est pas inférieure à X. Prenons l'exemple suivant : la fonction

mysql> Select CEILING(3.46);
+---------------+
| CEILING(3.46) |
+---------------+
|             4 |
+---------------+
1 row in set (0.00 sec)  

mysql> Select CEILING(-6.43);
+----------------+
| CEILING(-6.43) |
+----------------+
|             -6 |
+----------------+
1 row in set (0.02 sec)

FLOOR() renvoie la plus grande valeur entière non supérieure à X. Prenons l'exemple suivant : la fonction

mysql> Select FLOOR(-6.43);
+--------------+
| FLOOR(-6.43) |
+--------------+
|           -7 |
+--------------+
1 row in set (0.00 sec)
 
mysql> Select FLOOR(3.46);
+-------------+
| FLOOR(3.46) |
+-------------+
|           3 |
+-------------+
1 row in set (0.00 sec)

ROUND() renvoie X arrondi à l'entier le plus proche. Si le deuxième argument D est fourni, la fonction renvoie X arrondi à D décimales. D doit être positif, sinon tous les chiffres à droite de la virgule décimale seront supprimés. Considérons l'exemple suivant -

mysql>SELECT ROUND(5.693893);
+---------------------------------------------------------+
|                    ROUND(5.693893)                      |
+---------------------------------------------------------+
|                           6                             |
+---------------------------------------------------------+
1 row in set (0.00 sec)  

mysql>SELECT ROUND(5.693893,2);
+---------------------------------------------------------+
|                   ROUND(5.693893,2)                     |
+---------------------------------------------------------+
|                          5.69                           |
+---------------------------------------------------------+
1 row in set (0.00 sec)

À partir de la définition et de l'exemple ci-dessus, nous pouvons observer les différences suivantes entre ces trois fonctions -

  • ROUND() la fonction arrondit le nombre vers le haut ou vers le bas en fonction du deuxième paramètre D et du nombre lui-même (D le nombre après la virgule >= 5 ou non). La fonction
  • FLOOR() arrondit un nombre vers zéro, en arrondissant toujours à l'inférieur. La fonction
  • CEILING() arrondit un nombre en partant de zéro et toujours vers le haut.
mysql> Select ROUND(1.415,2),FLOOR(1.415),CEILING(1.415);
+----------------+--------------+----------------+
| ROUND(1.415,2) | FLOOR(1.415) | CEILING(1.415) |
+----------------+--------------+----------------+
|           1.42 |            1 |              2 |
+----------------+--------------+----------------+
1 row in set (0.00 sec)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Principal partisan de MySQLArticle suivant:Principal partisan de MySQL