Problème :
Vous souhaitez arrondir un nombre à l'entier inférieur le plus proche.
Exemple :
Notre base de données a une table nommée employee avec des données dans les colonnes suivantes :id
, first_name
, last_name
, et hours_worked
(pour le mois en cours).
identifiant | prénom | nom_de_famille | heures_travaillées |
---|---|---|---|
1 | Alan | Watson | 95 |
2 | Lisa | Noir | 225 |
3 | Laura | Williams | 104 |
Montrons le prénom et le nom de chaque employé ainsi que le nombre de jours travaillés. Étant donné que le tableau ne montre que le nombre d'heures travaillées et non les jours, nous devons calculer cette valeur nous-mêmes.
Pour ce problème, nous supposerons que chaque employé a une journée de travail standard de huit heures sans irrégularités. Par conséquent, le nombre de jours travaillés est le nombre d'heures divisé par huit.
Solution :
SELECT last_name, first_name, FLOOR(hours_worked/8) AS days_worked FROM employee;
La requête renvoie le prénom et le nom de chaque employé et le nombre de jours travaillés ce mois-ci.
nom_de_famille | prénom | jours_travaillés |
---|---|---|
Watson | Alan | 11 |
Noir | Lisa | 28 |
Williams | Laura | 13 |
Discussion :
Le plancher est une opération mathématique simple qui prend un nombre et l'arrondit à l'entier inférieur le plus proche. Par exemple, le plancher de 5 est 5 lui-même, tandis que le plancher de 5,1 est également 5. Comme autre exemple, le plancher de 4,9 est 4.
En SQL, nous utilisons la fonction FLOOR. Il prend le nombre à arrondir et renvoie l'entier le plus proche qui lui est inférieur ou égal. Dans notre exemple, le nombre de jours travaillés doit être un nombre entier et non un nombre à virgule flottante. Ainsi, nous avons utilisé (FLOOR(hours_worked/8)
).