je travail sur une petite gestion de planning en delphi et firebird. Je dois calculer le nombre d'heures faites par jour sur un planning de base.
Cas : pour le lundi, j'ai LUNDI_HeureDebut, Lundi_HeureFin et Lundi_Temps_Pause tous au format Time avec 1 ou 2 service par jour.
Le calcul de base est simple mais j'arrive pas à l'avoir en format heure
Lundi_HF-Lundi_HD-Lundi_Pause = temps travaillé
En sql, j'ai fais cela : SELECT ((EXTRACT(HOUR FROM LUNDI_HF) * 60 + EXTRACT(MINUTE FROM LUNDI_HF)) - (EXTRACT(HOUR FROM LUNDI_HD) * 60 + EXTRACT(MINUTE FROM LUNDI_HD)) - (EXTRACT(HOUR FROM LUNDI_PAUSE) * 60 + EXTRACT(MINUTE FROM LUNDI_PAUSE))) AS LUNDI, ((EXTRACT(HOUR FROM MARDI_HF) * 60 + EXTRACT(MINUTE FROM MARDI_HF)) - (EXTRACT(HOUR FROM MARID_HD) * 60 + EXTRACT(MINUTE FROM MARID_HD)) - (EXTRACT(HOUR FROM MARDI_PAUSE) * 60 + EXTRACT(MINUTE FROM MARDI_PAUSE))) AS MARDI FROM PERSO_HORAIRES_BASES WHERE PERSO_HORAIRES_BASES.EMPLOYER = 5
Je n'arrive pas non plus à grouper pour avoir une seul valeur visible en heure.
Marsh Posté le 30-09-2009 à 18:48:09
Bonjour,
je travail sur une petite gestion de planning en delphi et firebird.
Je dois calculer le nombre d'heures faites par jour sur un planning de base.
Cas : pour le lundi, j'ai LUNDI_HeureDebut, Lundi_HeureFin et Lundi_Temps_Pause tous au format Time avec 1 ou 2 service par jour.
Le calcul de base est simple mais j'arrive pas à l'avoir en format heure
Lundi_HF-Lundi_HD-Lundi_Pause = temps travaillé
En sql, j'ai fais cela :
SELECT
((EXTRACT(HOUR FROM LUNDI_HF) * 60 + EXTRACT(MINUTE FROM LUNDI_HF)) - (EXTRACT(HOUR FROM LUNDI_HD) * 60 + EXTRACT(MINUTE FROM LUNDI_HD)) - (EXTRACT(HOUR FROM LUNDI_PAUSE) * 60 + EXTRACT(MINUTE FROM LUNDI_PAUSE))) AS LUNDI,
((EXTRACT(HOUR FROM MARDI_HF) * 60 + EXTRACT(MINUTE FROM MARDI_HF)) - (EXTRACT(HOUR FROM MARID_HD) * 60 + EXTRACT(MINUTE FROM MARID_HD)) - (EXTRACT(HOUR FROM MARDI_PAUSE) * 60 + EXTRACT(MINUTE FROM MARDI_PAUSE))) AS MARDI
FROM
PERSO_HORAIRES_BASES
WHERE
PERSO_HORAIRES_BASES.EMPLOYER = 5
Je n'arrive pas non plus à grouper pour avoir une seul valeur visible en heure.
Merci de votre aide
Philippe