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 Procédural MySQL Discussion :

[TIME] Différence


Sujet :

SQL Procédural MySQL

  1. #1
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut [TIME] Différence
    Avez-vous le même phénomène ?
    Une table avec deux colonnes TIME : Depart, Arrivee.
    Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Depart, Arrivee, (Arrivee-Depart) FROM MaTable
    J'ai les résultats suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    08:00:00 | 08:30:00 | 3000
    10:30:00 | 12:00:00 | 17000
    Testé avec MySql 3.23.47 et 4.0.13
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  2. #2
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2002
    Messages : 241
    Points : 563
    Points
    563
    Par défaut
    C'est tout simplement que - est un opérateur mathématique fonctionnant sur les entiers ou sur le décimal mais pas sur le temps.
    MySql transforme alors les valeurs en leur equivalent nombre (08:00:00 devient 800000 par example)

    Pour effectuer ce type d'opération il faut utiliser les functions time

    comme TIMEDIFF(expr,expr2), SUBTIME(expr,expr2)
    Olivier Miossec

  3. #3
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Ok ! Je n'arrive pas à voir dans la doc si en v.3.23, ces fonctions existaient. Je tente :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SUBTIME(  "01:00:00.999999",  "02:00:00.999998" )
    qui me retourne
    You have an error in your SQL syntax near '( "01:00:00.999999", "02:00:00.999998" )' at line 1
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  4. #4
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2002
    Messages : 241
    Points : 563
    Points
    563
    Par défaut
    Il serait peut être utile de lire la documentation de mysql

    http://www.mysql.com/doc/en/Date_and...functions.html
    Olivier Miossec

  5. #5
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Citation Envoyé par omiossec
    Il serait peut être utile de lire la documentation de mysql
    L'exemple que je cite est un copier/coller de la documentation MySql.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  6. #6
    Membre confirmé
    Avatar de omiossec
    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2002
    Messages : 241
    Points : 563
    Points
    563
    Par défaut
    Il aurait peut être été utile de lire completement


    ADDTIME() and SUBTIME() were added in MySQL 4.1.1.
    Olivier Miossec

  7. #7
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    Mars 2003
    Messages
    1 275
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 1 275
    Points : 1 992
    Points
    1 992
    Par défaut
    Effectivement, je n'avais pas tout lu. Donc je n'ai pas de solution puisque ma version maxi est actuellement la 4.0.13.
    Merci.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2003
    Messages : 113
    Points : 137
    Points
    137
    Par défaut
    Que faire alors sous mySQL 4.0.18 puisque ces fonctions ne sont pas dispos ?

    [Edit] J'ai trouvé: http://sqlpro.developpez.com/Planning/SQL_PLN.html (1.2.3 Algèbre temporelle)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Time] Comment calculer la différence entre deux Time?
    Par adil_vpb dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 14/03/2007, 17h24
  2. [Time] comment calculer une différence entre deux Time?
    Par adil_vpb dans le forum API standards et tierces
    Réponses: 12
    Dernier message: 13/03/2007, 17h02
  3. Réponses: 2
    Dernier message: 13/03/2007, 16h57
  4. [vb.net] [asp2.0] différence entre deux date /Time
    Par Neymo dans le forum ASP.NET
    Réponses: 6
    Dernier message: 06/02/2007, 11h48
  5. diffrence entre deux TIME
    Par mrkinfo dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 31/07/2006, 15h18

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