如何在MySQL日期中提取月份和年份并进行比较?

时间:2011-10-20 03:57:59

标签: mysql sql date

如何从mySQL日期中提取月份和日期并将其与另一个日期进行比较?

我发现了这个MONTH(),但它只获得了一个月。我寻找一个月和一年。

6 个答案:

答案 0 :(得分:58)

在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';

答案 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日期格式。)

或者你可以使用多重比较(即先年,然后是几个月)。