Comment puis-je extraire mois et année dans une date MySQL et les comparer?
Comment puis-je extraire le mois et la date d'une date mySQL et la comparer à une autre date?
j'ai trouvé ce mois () mais il obtient seulement le mois. Je recherche pour le mois et l'année.
6 réponses
dans Mysql Doku: http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_extract
SELECT EXTRACT( YEAR_MONTH FROM `date` )
FROM `Table` WHERE Condition = 'Condition';
si vous comparez des dates, extraire la date complète pour la comparaison. Si vous comparez les années et les mois uniquement, utilisez
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
FROM Table Where Condition = 'Condition';
bien que cela ait été discuté dans les commentaires, il n'y a pas encore de réponse contenant, il peut donc être facile de manquer. DATE_FORMAT fonctionne très bien et est flexible pour gérer de nombreux modèles différents.
DATE_FORMAT(date,'%Y%m')
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
vous pouvez vérifier les docs mySQL en ce qui concerne les fonctions date. http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
Il y a un AN() fonctionne exactement comme il y a un MOIS() fonction. Si vous faites une comparaison, y a-t-il une raison de découper la date? Êtes-vous vraiment intéressé à ignorer les différences de jour et si oui, est-ce la façon dont vous voulez le faire?
il devrait aussi y avoir un an().
pour ce qui est de la comparaison, vous pouvez comparer les dates qui sont les premiers jours de ces années et mois, ou vous pouvez convertir la paire année/mois en un nombre approprié pour la comparaison (c.-à-d. plus grand = plus tard). (Exercice laissé au lecteur. Pour des conseils, consultez le format de date ISO.)
ou vous pouvez utiliser des comparaisons multiples (c.-à-d. les années d'abord, puis les mois).