Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2005, 16h02   #1
Futur Membre du Club
 
Inscription : janvier 2003
Messages : 31
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 31
Points : 16
Points : 16
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.
npze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2005, 01h32   #2
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 721
Points : 4 721
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 :
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.
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2005, 10h26   #3
Futur Membre du Club
 
Inscription : janvier 2003
Messages : 31
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 31
Points : 16
Points : 16
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!
npze est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/10/2005, 11h18   #4
Rédacteur
 
Avatar de pcaboche
 
Homme Pierre Caboche
Inscription : octobre 2005
Messages : 2 197
Détails du profil
Informations personnelles :
Nom : Homme Pierre Caboche
Âge : 32
Localisation : Singapour

Informations forums :
Inscription : octobre 2005
Messages : 2 197
Points : 4 721
Points : 4 721
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?
pcaboche est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h24.


 
 
 
 
Partenaires

Hébergement Web