Nombre de jours entre la date actuelle et la date de champ
J'ai ce problème si quelqu'un peut aider.
Il y a un champ (date)
dans ma table (table1)
c'est une date au format 3/31/1988 (M/D/y)
, et ma nécessité est de définir combien de jours se sont écoulés depuis cette date.
J'ai essayé de donner cette instruction
SELECT DATEDIFF(CURDATE(), date) AS days
FROM table1
Mais il donne en retour, 'null', et je pense que cela arrive parce que les deux formats de date sont différents (CURDATE() est YMD.....
Est-il correct? quelqu'un peut-il m'aider?
Je vous remercie à l'avance
OriginalL'auteur user1951561 | 2013-06-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
STR_TO_DATE()
:SQLFiddle Démo
CURDATE() date de retour au format Y-m-d. Donc si deux de format de date n'est pas match, alors la fonction DATEDIFF retourner la valeur NULL. Par conséquent format de la date doit être la même comme ci-dessous: SELECT DATEDIFF(CURDATE(),STR_TO_DATE(date, '%Y-%m-%d')) jours à compter DE la table1
OriginalL'auteur DarkAjax
Votre
DATE
champ doit avoirDATE
ouDATETIME
format pour être utilisé commeDATEDIFF
argument correctement.Aussi
DATE
est le mot clé MySQL et je ne suis pas sûr que vous pouvez l'utiliser comme nom de champ valide.OriginalL'auteur zavg
Vous pouvez l'utiliser pour résultat précis
OriginalL'auteur Joy Chowdhury