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.

19
demandé sur JohnSmith 2011-10-20 07:57:59

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';
47
répondu betasux 2012-11-08 15:46:16

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';
29
répondu Question Overflow 2011-10-20 04:13:00

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')
10
répondu さりげない告白 2017-10-05 02:39:21
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
5
répondu Waseem Ahmad 2016-10-22 09:48:35

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?

1
répondu Carth 2011-10-20 04:02:29

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).

1
répondu aib 2011-10-20 04:09:13