Database
 sql >> Base de données >  >> RDS >> Database

Comment utiliser les numéros d'étage en SQL

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) ).