IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Somme de champs TimeStamp


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Par défaut Somme de champs TimeStamp
    Bonjour à tous,

    Ma question tient dans le titre, comment faire pour additionner des champs Timestamp (Base de données Infocob, au format .gdb).

    Ces champs Timestamp contiennent des durées ,et les données qu'ils contiennent sont de la forme suivante : "30/12/1899 00:12:55"

    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Le type TIMESTAMP est utilisé pour définir des instants (une date et une heure) et non des durées.
    Il est donc normal que des colonnes de type TIMESTAMP ne puissent s'additionner.

    Les durées doivent être enregistrées dans un type INTERVAL.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Par défaut
    J'imagine bien que le type de données utilisé n'est pas le bon, mais je ne peux pas le modifier.

    Ce champ de type stamptime contient bien des données dans cette base et je suis chargé de calculer la somme du temps passé par mes collègues sur leurs affaires.

    Comment serait-ce possible?

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Peut-être avec un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT SUM(EXTRACT(TIME FROM colonnetimestamp))
    FROM latable
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 57
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT AFFAIRE.AF_NOM AS Nom_Affaire, AFFAIRE.AF_CODE AS Code_Affaire , CONTACTFICHE.C_NOM AS Client, [sum(hour(HISTORIQUE.H_DUREE)))+ (sum (minute(HISTORIQUE.H_DUREE)))/60]as TEMPS_passé
     
      FROM HISTORIQUE,AFFAIRE INNER JOIN CONTACTFICHE ON CONTACTFICHE.C_CODE=AFFAIRE.AF_INTERLOCUTEUR 
      WHERE HISTORIQUE.H_CODECONTACT=CONTACTFICHE.C_CODE 
      GROUP BY AFFAIRE.AF_NOM, AFFAIRE.AF_CODE, CONTACTFICHE.C_NOM

    Merci pour ta réponse CinePhil mais cela ne fonctionne pas, j'essaie avec le code ci-dessus mais sans succès également...

  6. #6
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Essayez de faire une soustraction (ou un datediff) entre votre champ et votre date de départ (30/12/1899 00:00:00 ?).
    Celà devrait vous donner une durée (au format interval ou au format jour ou autre, je ne connais pas Infocob).

Discussions similaires

  1. [SQL] un champ Timestamp ou deux champs Date et Heure?
    Par davmaster62 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/02/2006, 23h04
  2. somme des champs null
    Par s.rais dans le forum Access
    Réponses: 4
    Dernier message: 09/02/2006, 09h05
  3. Afficher la somme de champs d'un sous-formulaire
    Par pyxosledisciple dans le forum Access
    Réponses: 1
    Dernier message: 20/01/2006, 09h34
  4. Somme des champs ? existe t il une fonction ...
    Par dark_vidor dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/01/2006, 11h57
  5. where avec un champ timestamp
    Par DBBB dans le forum SQL
    Réponses: 3
    Dernier message: 26/05/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo