Difference entre 2 date ??
Résolu
trik59
Messages postés
244
Statut
Membre
-
jfqld -
jfqld -
Slt !!!!
je cherche a savoir comment fait on pour faire la difference entre 2 date sous forme SQL, ....
merci...
je cherche a savoir comment fait on pour faire la difference entre 2 date sous forme SQL, ....
merci...
A voir également:
- Sql différence entre 2 dates
- Supercopier 2 - Télécharger - Gestion de fichiers
- Nombre de jours entre deux dates excel - Guide
- Différence entre tcp et udp - Guide
- Difference entre million et milliard - Accueil - Technologies
- Difference entre mo et mb - Forum Matériel & Système
11 réponses
mysql> SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
-> 1
mysql> SELECT DATEDIFF('1997-11-30 23:59:59','1997-12-31');
-> -31
DATEDIFF() was added in MySQL 4.1.1.
Et de manière générale, tout bon moteur aurait put te donner:
http://tinyurl.com/4xb3j
Bon alors dans ton cas
Ca devrait marcher, à l'ordre des dates près (si ça marche pas remplace 98 par 2005 dans le DATEDIFF) mais je suppose que tu préfereras:
AND DATE_SUB(DATE("01/01/1998"),INTERVAL DATEDIFF(;CURDATE(),"01/01/1998") DAY) <= materiel.date_livraison;
SELECT division.nom_div, type_mat.id_sorte_mat, type_mat.designation, materiel.date_livraison, materiel.statut, count( * ) nbr_ucs
FROM materiel, division, type_mat
WHERE materiel.id_div = division.id_div
AND materiel.id_type_mat = type_mat.id_type_mat
AND type_mat.id_sorte_mat = 2
AND materiel.statut = "A"
AND DATE_SUB(DATE("01/01/1998"),INTERVAL DATEDIFF("26/01/2005","01/01/1998") DAY) <= materiel.date_livraison;
GROUP BY designation;
Ca devrait marcher, à l'ordre des dates près (si ça marche pas remplace 98 par 2005 dans le DATEDIFF) mais je suppose que tu préfereras:
AND DATE_SUB(DATE("01/01/1998"),INTERVAL DATEDIFF(;CURDATE(),"01/01/1998") DAY) <= materiel.date_livraison;
critique accepter
critique acceptée :-D Trop tentant ça ;o)
Le problème est que 01/01/1998 est compris comme une string, qui plus est DIFF est une fonction je crois, essaye donc DIFF(DATE("date"), DATE("date2")) ou un truc du genre...mais seb à raison :o)
critique acceptée :-D Trop tentant ça ;o)
Le problème est que 01/01/1998 est compris comme une string, qui plus est DIFF est une fonction je crois, essaye donc DIFF(DATE("date"), DATE("date2")) ou un truc du genre...mais seb à raison :o)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je suis sous mysql esque cela pourait fonctioner sous MYSQL?...
sinon comment kon fait...
les fonctions ci dessous, je n'est jamais utiliser de fonction de ce genre....chi pô mai vé tester ku meme, rien a perdre hihihi que du temp mé bont
sinon comment kon fait...
les fonctions ci dessous, je n'est jamais utiliser de fonction de ce genre....chi pô mai vé tester ku meme, rien a perdre hihihi que du temp mé bont
voila mon code je cherche a savoir ce qui ne va pas
aidez moi, .S.V.P
Fonction de calcul de la duree.
$dd=date debut in terne à la fonction
$df=date fin interne à la fonction
$td=heure debut interne à la fonction
$tf=heure de fin interne à la fonction
$jd=jour debut
$md=mois debut
$ad=annee debut
$jf=jour fin
$mf=mois fin
$af=annee fin
<?php function temps_ecoule($date_debut,$date_fin)
{
If($date_debut)= =’ ’{ $resultat=’’ impossible de démarrer la fonction ‘’ ;
}else{ if date_fin ! =’ ‘{
List($dd,$td)=explode(‘/ ’,$dd); // separation date et heure debut
List($df,$tf)=explode(‘/ ’,$df); // separation date et heure fin
List($jd,$md,$ad)=explode(‘/ ’,$dd); // explosion date debut
$pd=mktime (0,0,0,$md,$jd,$ad); // structure de date debut
List($hd,$mid,$sd)=explode(‘:’,$td); // explosion heure debut
List($jf,$mf,$af)=explode(‘/’,$df); // separation date et heure debut
$pf=mktime (0,0,0,$mf,$jf,$af); // structure de date fin
List($hf,$mif,$sf)=explode(‘:’,$tf); // explosion heure fin
$tsf =mktime($hd,$mid,$sd,1,1,1970) ; // structure heure debut
$tsf=mktime($hf,$mif,$sf,1,1,1970) ; // structure heure fin
$ts=abs($tsf- $tsf);
$resultat =$ts;
Return $resultat;
?>
<form>
<p> date heure début </p>
<p> debut<input type =‘’texte’’,name=’’debut’’></p>
<p> fin<input type =‘’texte’’,name=’’fin’’></p>
<p> duree<input type =‘’texte’’,name=’’duree’’ onclik=’’temps_ecoule’’></p>
</form>
aidez moi, .S.V.P
Fonction de calcul de la duree.
$dd=date debut in terne à la fonction
$df=date fin interne à la fonction
$td=heure debut interne à la fonction
$tf=heure de fin interne à la fonction
$jd=jour debut
$md=mois debut
$ad=annee debut
$jf=jour fin
$mf=mois fin
$af=annee fin
<?php function temps_ecoule($date_debut,$date_fin)
{
If($date_debut)= =’ ’{ $resultat=’’ impossible de démarrer la fonction ‘’ ;
}else{ if date_fin ! =’ ‘{
List($dd,$td)=explode(‘/ ’,$dd); // separation date et heure debut
List($df,$tf)=explode(‘/ ’,$df); // separation date et heure fin
List($jd,$md,$ad)=explode(‘/ ’,$dd); // explosion date debut
$pd=mktime (0,0,0,$md,$jd,$ad); // structure de date debut
List($hd,$mid,$sd)=explode(‘:’,$td); // explosion heure debut
List($jf,$mf,$af)=explode(‘/’,$df); // separation date et heure debut
$pf=mktime (0,0,0,$mf,$jf,$af); // structure de date fin
List($hf,$mif,$sf)=explode(‘:’,$tf); // explosion heure fin
$tsf =mktime($hd,$mid,$sd,1,1,1970) ; // structure heure debut
$tsf=mktime($hf,$mif,$sf,1,1,1970) ; // structure heure fin
$ts=abs($tsf- $tsf);
$resultat =$ts;
Return $resultat;
?>
<form>
<p> date heure début </p>
<p> debut<input type =‘’texte’’,name=’’debut’’></p>
<p> fin<input type =‘’texte’’,name=’’fin’’></p>
<p> duree<input type =‘’texte’’,name=’’duree’’ onclik=’’temps_ecoule’’></p>
</form>
voila mon code je cherche a savoir ce qui ne va pas
aidez moi, .S.V.P
Fonction de calcul de la duree.
$dd=date debut in terne à la fonction
$df=date fin interne à la fonction
$td=heure debut interne à la fonction
$tf=heure de fin interne à la fonction
$jd=jour debut
$md=mois debut
$ad=annee debut
$jf=jour fin
$mf=mois fin
$af=annee fin
<?php function temps_ecoule($date_debut,$date_fin)
{
If($date_debut)= =’ ’{ $resultat=’’ impossible de démarrer la fonction ‘’ ;
}else{ if date_fin ! =’ ‘{
List($dd,$td)=explode(‘/ ’,$dd); // separation date et heure debut
List($df,$tf)=explode(‘/ ’,$df); // separation date et heure fin
List($jd,$md,$ad)=explode(‘/ ’,$dd); // explosion date debut
$pd=mktime (0,0,0,$md,$jd,$ad); // structure de date debut
List($hd,$mid,$sd)=explode(‘:’,$td); // explosion heure debut
List($jf,$mf,$af)=explode(‘/’,$df); // separation date et heure debut
$pf=mktime (0,0,0,$mf,$jf,$af); // structure de date fin
List($hf,$mif,$sf)=explode(‘:’,$tf); // explosion heure fin
$tsf =mktime($hd,$mid,$sd,1,1,1970) ; // structure heure debut
$tsf=mktime($hf,$mif,$sf,1,1,1970) ; // structure heure fin
$ts=abs($tsf- $tsf);
$resultat =$ts;
Return $resultat;
?>
<form>
<p> date heure début </p>
<p> debut<input type =‘’texte’’,name=’’debut’’></p>
<p> fin<input type =‘’texte’’,name=’’fin’’></p>
<p> duree<input type =‘’texte’’,name=’’duree’’ onclik=’’temps_ecoule’’></p>
</form>
aidez moi, .S.V.P
Fonction de calcul de la duree.
$dd=date debut in terne à la fonction
$df=date fin interne à la fonction
$td=heure debut interne à la fonction
$tf=heure de fin interne à la fonction
$jd=jour debut
$md=mois debut
$ad=annee debut
$jf=jour fin
$mf=mois fin
$af=annee fin
<?php function temps_ecoule($date_debut,$date_fin)
{
If($date_debut)= =’ ’{ $resultat=’’ impossible de démarrer la fonction ‘’ ;
}else{ if date_fin ! =’ ‘{
List($dd,$td)=explode(‘/ ’,$dd); // separation date et heure debut
List($df,$tf)=explode(‘/ ’,$df); // separation date et heure fin
List($jd,$md,$ad)=explode(‘/ ’,$dd); // explosion date debut
$pd=mktime (0,0,0,$md,$jd,$ad); // structure de date debut
List($hd,$mid,$sd)=explode(‘:’,$td); // explosion heure debut
List($jf,$mf,$af)=explode(‘/’,$df); // separation date et heure debut
$pf=mktime (0,0,0,$mf,$jf,$af); // structure de date fin
List($hf,$mif,$sf)=explode(‘:’,$tf); // explosion heure fin
$tsf =mktime($hd,$mid,$sd,1,1,1970) ; // structure heure debut
$tsf=mktime($hf,$mif,$sf,1,1,1970) ; // structure heure fin
$ts=abs($tsf- $tsf);
$resultat =$ts;
Return $resultat;
?>
<form>
<p> date heure début </p>
<p> debut<input type =‘’texte’’,name=’’debut’’></p>
<p> fin<input type =‘’texte’’,name=’’fin’’></p>
<p> duree<input type =‘’texte’’,name=’’duree’’ onclik=’’temps_ecoule’’></p>
</form>
salut!
en fait j'ai tester ! mais je ne c'est pas si c'est ma requête ou si c'est la methode DIFF qui fonctionne pas voici ma reqête voici!!!
critique accepter :)
SELECT division.nom_div, type_mat.id_sorte_mat, type_mat.designation, materiel.date_livraison, materiel.statut, count( * ) nbr_ucs
FROM materiel, division, type_mat
WHERE materiel.id_div = division.id_div
AND materiel.id_type_mat = type_mat.id_type_mat
AND type_mat.id_sorte_mat = 2
AND materiel.statut = "A"
AND materiel.date_livraison= "01/01/1998" DIFF "26/01/2005"
GROUP BY designation;
en fait j'ai tester ! mais je ne c'est pas si c'est ma requête ou si c'est la methode DIFF qui fonctionne pas voici ma reqête voici!!!
critique accepter :)
SELECT division.nom_div, type_mat.id_sorte_mat, type_mat.designation, materiel.date_livraison, materiel.statut, count( * ) nbr_ucs
FROM materiel, division, type_mat
WHERE materiel.id_div = division.id_div
AND materiel.id_type_mat = type_mat.id_type_mat
AND type_mat.id_sorte_mat = 2
AND materiel.statut = "A"
AND materiel.date_livraison= "01/01/1998" DIFF "26/01/2005"
GROUP BY designation;
si c du oracle
c'est juste le signe - ; ca donne le nombre de jours,sinon il y a MONTHS_BETWEEN(date1,date2)
...
c'est juste le signe - ; ca donne le nombre de jours,sinon il y a MONTHS_BETWEEN(date1,date2)
...
slt ! effectivement c'est du Mysql, j'ai tester mais cela fait encore des erreurs,je ne c'est pas si c'est la methode oubin moi... je veut essayer d'ecrire le prog en php, mais je n'en connait pas plus que sql, esque c'est la meme chose ? on ma dit qu'il faut utiliser des conditions ?...
merci de m'apporter quelques renseignements à ce sujet..
a+
merci de m'apporter quelques renseignements à ce sujet..
a+