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 :

Equivalent a fonction DATEDIFF pour MySQL version 3.23


Sujet :

SQL Procédural MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 31
    Points : 20
    Points
    20
    Par défaut Equivalent a fonction DATEDIFF pour MySQL version 3.23
    Je cherche à calculer le nombre de jours (oula durée) séparant deux dates au format MySQL (yyyy-mm-dd hh:mm:ss) sur un serveur mysql version 3.23.56.
    Le probleme est que la fonction DATEDIFF n'est disponible qu'a partir de la version 4.11. Existe-t-il une syntaxe permettant de faire le meme calcul en ayant le meme resultat pour ma version ?

    Merci.
    nico

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Salut npze,

    J'ai eu le même problème que toi: dans la doc de MySQL je trouvais la fonction DATEDIFF, mais elle ne voulais pas marcher. J'ai alors regardé la version de mon MySQL: 4.0.15. C'était pas loin de la 4.11 ! (mais à coté, c'est pas dedans...).

    Grâce à ton message, j'ai tout de suite compris pourquoi ça ne marchait pas chez moi. Par un échange de bons procédés, je te montre comment j'ai fait pour calculer le nombre de jours séparant la date courante d'une date antérieure (DateCreation) avec MySQL 4.10 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT FLOOR((UNIX_TIMESTAMP(CURDATE()) - UNIX_TIMESTAMP(DateCreation))/86400) As NbJours
    ...
    Sachant que 86400, c'est le nombre de secondes dans une journée.

    Voilà, dis moi si certaines fonctions ne sont pas implémentée dans ta version de MySQL.
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2003
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 31
    Points : 20
    Points
    20
    Par défaut
    Salut pcaboche! Merci d'avoir déterré mon post, je pensais plus avoir de réponses!
    Ta solution marche parfaitement pour ma version de Mysql, qui est bien plus ancienne que la tienne. Je te remercie de m'en avoir fait part, car comme le serveur version 3.23 en question est celui de mon hébergeur, je m'étais résolu à en changer à moyen terme, ce qui ne sera finalement pas utile. Encore merci!
    nico

  4. #4
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Points : 9 716
    Points
    9 716
    Par défaut
    Et bien de rien npze, et merci aussi parce que sans toi, j'aurais certainement mis un temps non négligeable pour trouver qu'en fait la fonction DATEDIFF n'était pas implémentée sous MySQL 4.10 .

    Et merci aussi à Google pour avoir trouvé ce post , ce qui m'a permis de le déterrer (tu commençais désespérer et te disais que ton post allait sombrer dans l'oubli, submergé de nouveaux sujets tous plus récents les uns que les autres, n'est-ce pas?).

    Enfin, c'est quoi ces hébergeurs qui ont non pas une, mais carrément 2 guerres de retard? On en est à la version 5.0 quand même! Qu'ils n'aient pas envie de migrer à chaque petit changement de version, passe encore, mais là faut voir à pas se moquer du monde! Et en plus, je parie que tu payes pour ça! Non?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

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

Discussions similaires

  1. Jet Profiler pour MySQL - Version gratuite
    Par forum dans le forum Contribuez
    Réponses: 0
    Dernier message: 19/06/2012, 15h36
  2. Réponses: 3
    Dernier message: 01/12/2010, 14h46
  3. Equivalent des fonctions Windows pour WinCE
    Par bilel benhalima dans le forum Windows
    Réponses: 3
    Dernier message: 31/03/2008, 23h17
  4. réécriture de "NOT IN" pour MySql version 3
    Par helene34 dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/08/2006, 19h36
  5. equivalent function decode oracle pour mysql 4.1
    Par axel-erator dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 24/05/2006, 13h44

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