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

Requêtes MySQL Discussion :

TIMESTAMPDIFF fonctionne à l'inverse de DATEDIFF


Sujet :

Requêtes MySQL

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2016
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mars 2016
    Messages : 93
    Points : 95
    Points
    95
    Par défaut TIMESTAMPDIFF fonctionne à l'inverse de DATEDIFF
    Bonjour,

    Une erreur de conception dans le langage SQL ?
    Je programme une fonction d'élimination des anciens records d'une table, sur base de leur date.
    Quelle ne fut pas ma surprise de constater que DateDiff rendait un signe différent de sa voisine TimeStampDiff

    Nous sommes le 21 décembre 2018.

    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
    17
    18
    19
    20
    21
    22
    23
    24
     
    mysql> SELECT version();SELECT TIMESTAMPDIFF(DAY, '2018-12-01', CURRENT_DATE) AS delai;SELECT DATEDIFF('2018-12-01', CURRENT_DATE) AS delai;
    +-------------------------+
    | version()               |
    +-------------------------+
    | 5.7.24-0ubuntu0.16.04.1 |
    +-------------------------+
    1 row in set (0,00 sec)
     
    +-------+
    | delai |
    +-------+
    |    20 |
    +-------+
    1 row in set (0,00 sec)
     
    +-------+
    | delai |
    +-------+
    |   -20 |
    +-------+
    1 row in set (0,00 sec)
     
    mysql>
    Pourtant, je passe les paramètres dans le même ordre.
    Ca m'a paru bizarre, que deux fonctions analogues fonctionnent à l'inverse.
    Et même dangereux si le signe est utilisé comme critère pour un DELETE
    Quelqu'un aurait-il une explication ?

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut cmascart.

    Il est inutile de se poser des questions métaphysiques sur le pourquoi du comment.

    Vous devez avoir le réflexe de consulter la documentation mysql sur les fonctions que vous désirer utiliser :
    --> https://dev.mysql.com/doc/refman/8.0..._timestampdiff
    --> https://dev.mysql.com/doc/refman/8.0...ction_datediff

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/07/2016, 17h55
  2. Réponses: 1
    Dernier message: 18/08/2014, 13h40
  3. Fonctionnement inverse JComboBox
    Par jaaf64 dans le forum Composants
    Réponses: 0
    Dernier message: 05/05/2013, 09h41
  4. Réponses: 26
    Dernier message: 20/07/2007, 10h29
  5. Fonctionnement de la compression DivX
    Par Rodrigue dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/09/2002, 14h10

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