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

SQL Oracle Discussion :

Gestion des heures


Sujet :

SQL Oracle

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut Gestion des heures
    Bonjour,

    J'ai une table événement avec deux champs: heureDebut et heureFin. Je l'ai ai mi en type timestamp ou je stocke l'heure et je met une date bidon devant car pas d'autre moyen de gérer les heures en sql.
    Je souhaiterai faire la soustraction de heureFin - heureDebut afin d'obtenir la durée.
    Par exemple:
    12h30-10h = 2h30
    Par ailleurs, la durée je la stocke en nombre à virgule dans une autre table

    Comment faire?
    Si vous avez une autre solution pour le stockage des heures je suis également preneur.

    Merci de votre aide

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Pour les heures, il y a eu ce sujet récent :
    http://www.developpez.net/forums/d15...but-type-time/

    Préférez d'ailleurs la solution de mnitu qui sera beaucoup plus simple à utiliser pour faire des calculs.

    Pour votre problème actuel, ça dépend si vous avez mis le même jour dans le timestamp ou pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    with matable (cid, debut, fin) as
    (
    select 1, timestamp '2015-03-03 10:00:00', timestamp '2015-03-03 12:30:00' from dual union all
    select 2, timestamp '2015-03-03 10:00:00', timestamp '2015-03-07 12:30:00' from dual union all
    select 3, timestamp '2015-03-03 17:30:00', timestamp '2015-03-02 12:30:00' from dual
    )
    select cid, debut, fin
         , fin - debut as df1
         , (fin - trunc(fin)) - (debut - trunc(debut)) as df2
      from matable;
     
           CID DEBUT               FIN              DF1          DF2          
    ---------- ------------------- ---------------- ------------ -------------
             1 2015-03-03 10:00:00 2015-03-03 12:30 +00 02:30:00  +00 02:30:00
             2 2015-03-03 10:00:00 2015-03-07 12:30 +04 02:30:00  +00 02:30:00
             3 2015-03-03 17:30:00 2015-03-02 12:30 -01 05:00:00  -00 05:00:00

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Oui je met le même jours.
    Sinon si je met au format date, il parait que cela gère les heures aussi mais peut-on aussi extraire heure et minutes et faire les même opérations j'ai dit

  4. #4
    Débutant  
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Points : 132
    Points
    132
    Par défaut
    Je viens de transformer mes colonne en date
    et si je fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (HEUREDEBUT - HEUREFIN)*24 from evenement;
    Je trouve bien 3,5 pour 10:00-13:30

    Par contre, si je mais cela dans un trigger qui va faire une insertion automatique dans une colonne durée de type number sa va passer?

Discussions similaires

  1. Gestion des heures d'été/hiver
    Par ccaye dans le forum SQL
    Réponses: 4
    Dernier message: 07/10/2008, 16h34
  2. gestion des heures access
    Par albambino dans le forum Modélisation
    Réponses: 5
    Dernier message: 12/06/2007, 15h14
  3. gestions des heures de travail
    Par bzhmorgane dans le forum Modélisation
    Réponses: 2
    Dernier message: 24/05/2007, 08h56
  4. [MySQL 5] gestion des heures
    Par sami_c dans le forum Langage SQL
    Réponses: 13
    Dernier message: 12/01/2007, 18h02
  5. [TIME] Gestion des heures
    Par Seb7 dans le forum Débuter
    Réponses: 2
    Dernier message: 10/07/2003, 16h28

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