Bonjour,
Malgré les nombreuses pistes du forum, je n'ai pas vraiment trouvé de solution à mon problème.
Dans une table de base de données Firebird (2.5), j'essaie de calculer une somme de durées. Il s'agit d'une table de pointage des heures de travail. Parmi les champs de ma table, j'en ai un qui contient déjà la durée journalière du travail (en format hh:mm:ss), donc je ne travaille pas avec une date de début et une date de fin. La durée par jour est déjà calculée.
Je voudrais simplement calculer le nombre d'heures travaillées par semaine, mais j'ai un problème sur le calcul de la somme, à cause du format de ce champ "durée réelle". J'ai essayé en type Time et en type Timestamp.
Ma requête est du genre:
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT ANNEE,SEMAINE, SUM(DUREE_REELLE) as TOTAL FROM POINTAGE2 Group by ANNEE, SEMAINE ORDER BY ANNEE, SEMAINE ASC;
Forcément il ne peut pas calculer la somme et j'ai l'erreur :"Argument for SUM in dialect 3 must be numeric". Si je fais la somme sur un autre champ type integer, alors ça marche.
Malheureusement les fonctions genre Time_To_Sec n'existe pas dans Firebird, j'ai essayé de faire des CAST, mais ça ne marche pas non plus.
Y a-t-il un moyen simple, sans faire une usine à gaz avec des conversions pour calculer cette somme?
Merci d'avance pour votre réponse.
Partager