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 :

Erreur sur l'évaluation d'une durée


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut Erreur sur l'évaluation d'une durée
    Bonjour,
    Voilà qui est probablement basique mais je ne m'explique pas le comportement suivant :
    j'exécute une requete retournant la différence entre la date et heure courante avec un champ timestamp enregistré
    or le résultat ne correspond pas aux valeurs attendu !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Connection_Deny.DenyDate, Now(), Now()-Connection_Deny.DenyDate
    FROM `Connection_Deny`
    Le résultat

    En colonne 3 : le résultat de la requête
    en 4 le résultat attendu !

    En résumé comment obtenir la différence de 2 datetimes sous forme de secondes ?

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Désolé,
    j'ai finallement trouvé (peu de temps après avoir posé ma question ) .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Connection_Deny.DenyDate, Now( ) , timestampdiff(SECOND,Connection_Deny.DenyDate,Now( )) AS DIFF 
    FROM `Connection_Deny`

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Je viens de constater qu'il s'agit d'une fonction MySQL 5.
    Quelle est l'alternative avec les versions précédentes ?

  4. #4
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Si ton champ Connection_Deny.DenyDate est de type date, tu peux normalement arriver au même résultat avec les fonction DATEDIFF et DATE_FORMAT.
    Ces deux fonctions sont disponibles depuis MySQL 4.1.1

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Il est de type Timestamp et la valeur par défaut (Current_Timestamp) est attribuée automatiquement à l'ajout d'un nouvel enregistrement.

  6. #6
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Et avec l'utilisation de la fonction SEC_TO_TIME pour convertir tes timestamp en date...

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

Discussions similaires

  1. Erreur sur l'initialize d'une notessession
    Par fafonso dans le forum Général VBA
    Réponses: 16
    Dernier message: 17/11/2006, 10h33
  2. [C#] Erreur sur l'initialize d'une NotesSession
    Par dacamp dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/11/2006, 12h00
  3. Erreur sur script en attaquant une base mysql
    Par bilou95 dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 09/10/2006, 15h58
  4. Erreur sur l'ouverture d'une fenêtre popup
    Par misa dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/11/2005, 15h21
  5. [Pl/pgSQL] Erreur sur l'execution d'une fonction.
    Par Floréal dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/09/2005, 00h48

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