102 votes

Comment arrondir à l'entier inférieur dans MySQL ?

Comment arrondir à l'entier inférieur dans MySQL ?

Exemple : 12345.7344 rounds to 12345

de mysql round() la fonction arrondit.

Je ne sais pas quelle sera la longueur des valeurs ni les décimales, cela pourrait être 10 chiffres avec 4 décimales, cela pourrait être 2 chiffres avec 7 décimales.

146voto

Jocelyn Points 5621

Utilisez PLANCHER :

SELECT FLOOR(your_field) FROM your_table

68voto

Luca Fagioli Points 2885

Utilisez FLOOR() .

Il va arrondir votre décimale à la inférieur entier. Exemples :

SELECT FLOOR(1.9) /* return 1 */
SELECT FLOOR(1.1) /* return 1 */

Autres arrondis utiles

Si vous voulez arrondir votre décimale à l'unité le plus proche entier, utilisez ROUND() . Exemples :

SELECT ROUND(1.9) /* return 2 */
SELECT ROUND(1.1) /* return 1 */

Si vous voulez arrondir votre décimale à l'unité supérieur entier, utilisez PLAFOND() . Exemples :

SELECT CEILING(1.9) /* return 2 */
SELECT CEILING(1.1) /* return 2 */

5voto

hjpotter92 Points 24797
SELECT FLOOR(12345.7344);

Lire la suite ici .

4voto

Guest Points 47

SUBSTR sera meilleur que FLOOR dans certains cas parce que FLOOR a un "bug" comme suit :

SELECT 25 * 9.54 + 0.5 -> 239.00

SELECT FLOOR(25 * 9.54 + 0.5) -> 238  (oops!)

SELECT SUBSTR((25*9.54+0.5),1,LOCATE('.',(25*9.54+0.5)) - 1) -> 239

3voto

Jose Pedro Febian Points 109

La fonction FLOOR() renvoie la plus grande valeur entière qui est inférieure ou égale à un nombre.

example :
SELECT FLOOR(columnName) FROM tableName;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X