Bonjour,
Débutant avec open office Base je souhaiterais savoir quelle est la requête permettant de soustraire 2 champs (Heure_Fin - Heure_Debut) de type TIME et envoyer le résultat sur un 3eme champ (Temps_total)
Merci pour votre aide
[Résolu] Soustraire des heures
Modérateur : Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
-
- Fraîchement OOthentifié
- Messages : 2
- Inscription : 12 nov. 2010 18:00
[Résolu] Soustraire des heures
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 13 nov. 2010 19:01, modifié 1 fois.
Raison : Ajouté [Résolu] et la coche de sujet
Raison : Ajouté [Résolu] et la coche de sujet
OpenOffice 3.2.1 sous Windows 7
-
- Grand Maître de l'OOffice
- Messages : 11276
- Inscription : 02 mai 2006 08:42
Re: Soustraire des Heures
Bonjour et bienvenue sur ce forum
La requête pour calculer une durée :
Explications :
Le principe des base de données est de ne pas stocker le résultat des calculs... puisque justement il s'agit de calculs que l'on peut reproduire à tout moment.JoeHM a écrit :Débutant avec open office Base je souhaiterais savoir quelle est la requête permettant de soustraire 2 champs (Heure_Fin - Heure_Debut) de type TIME et envoyer le résultat sur un 3eme champ (Temps_total)
La requête pour calculer une durée :
Code : Tout sélectionner
SELECT "ID", "Heure_Debut", "Heure_Fin", CAST ( '00:' || DATEDIFF( 'mi', "Heure_Debut", "Heure_Fin" ) || ':00' AS "TIME" ) AS "Temps total" FROM "Table1"
- La fonction DATEDIFF permet de calculer le nombre de minutes séparant les deux heures
- On concatène le résultat avec des chaînes à zéro représentant heures et secondes. On obtient par exemple : 00:75:00
- CAST convertit cette chaîne au format TIME (heure)
Ajout : J'ai oublié de préciser qu'il serait nécessaire de modifier le format d'affichage de la colonne comme expliqué dans ce fil http://user.services.openoffice.org/fr/ ... 22#p135541 Ceci n'est pas à faire en mode ébauche lors de la confection de la requête mais en mode exécution : afficher les objets "Requêtes", exécuter la requête (double clic sur son nom ou clic droit puis Ouvrir), clic droit sur l'en-tête de colonne > Formatage de colonne pour choisir le format Heure |
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
-
- Fraîchement OOthentifié
- Messages : 2
- Inscription : 12 nov. 2010 18:00