如何从mySQL日期中提取月份和日期并将其与另一个日期进行比较?
我发现了这个MONTH(),但它只获得了一个月。我寻找一个月和一年。
答案 0 :(得分:58)
: 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';
答案 1 :(得分:29)
如果您要比较日期,请提取完整日期以进行比较。如果您只比较年份和月份,请使用
SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
FROM Table Where Condition = 'Condition';
答案 2 :(得分:15)
虽然在评论中讨论过,但还没有包含它的答案,所以很容易错过。 DATE_FORMAT工作得非常好,可以灵活处理许多不同的模式。
DATE_FORMAT(date,'%Y%m')
答案 3 :(得分:5)
SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
答案 4 :(得分:1)
您可能想查看有关日期函数的mySQL文档。 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html
有一个YEAR()函数就像MONTH()函数一样。如果您正在进行比较,但是有理由将日期删除吗?您是否真的对忽视基于日期的差异感兴趣,如果是这样,您希望如何做到这一点?
答案 5 :(得分:1)
也应该有一年()。
至于比较,您可以比较那些年和月的第一天的日期,或者您可以将年/月对转换为适合比较的数字(即更大=更晚)。 (练习留给读者。有关提示,请阅读ISO日期格式。)
或者你可以使用多重比较(即先年,然后是几个月)。