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.

2voto

Ananya Verma Points 31

Cela peut se faire des deux manières suivantes :

  • select floor(desired_field_value) from table
  • select round(desired_field_value-0.5) from table

L'explication de la 2e voie : Supposons que 12345.7344 soit un entier. Donc, 12345.7344 - 0.5 = 12345.2344 et en arrondissant, le résultat sera 12345.

1voto

John Woo Points 132738

Essayez ça,

SELECT SUBSTR(12345.7344,1,LOCATE('.', 12345.7344) - 1)

o

SELECT FLOOR(12345.7344)

Démonstration de SQLFiddle

1voto

user2797185 Points 21

Si vous avez besoin de décimales, vous pouvez utiliser ceci

DECLARE @Num NUMERIC(18, 7) = 19.1471985
SELECT FLOOR(@Num * 10000) / 10000

Sortie : 19.147100 Effacer : 985 Ajouter : 00

OU utilisez ceci :

SELECT SUBSTRING(CONVERT(VARCHAR, @Num), 1, CHARINDEX('.', @Num) + 4)

Sortie : 19.1471 Effacement : 985

1voto

Les deux requêtes sont utilisées pour arrondir le nombre entier le plus proche dans MySQL.

  1. SELECT FLOOR(445.6) ;
  2. SÉLECTIONNER NULL(222.456) ;

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