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

Joh*_*ith 29 mysql sql date

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

我找到了这个MONTH(),但它只获得了一个月.我寻找一个月和一年.

小智 62

在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';
Run Code Online (Sandbox Code Playgroud)

  • 能否解释一下什么时候首选“EXTRACT”而不是“DATE_FORMAT”? (5认同)

Que*_*low 30

如果您要比较日期,请提取完整日期以进行比较.如果您只比较年份和月份,请使用

SELECT YEAR(date) AS 'year', MONTH(date) AS 'month'
 FROM Table Where Condition = 'Condition';
Run Code Online (Sandbox Code Playgroud)


さりげ*_*い告白 20

虽然在评论中讨论过,但还没有包含它的答案,所以很容易错过.DATE_FORMAT工作得非常好,可灵活处理许多不同的模式.

DATE_FORMAT(date,'%Y%m')
Run Code Online (Sandbox Code Playgroud)


小智 6

SELECT * FROM Table_name Where Month(date)='10' && YEAR(date)='2016';
Run Code Online (Sandbox Code Playgroud)


Car*_*rth 1

您可能想查看有关日期函数的 mySQL 文档。http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

就像有 MONTH() 函数一样,也有 YEAR() 函数。如果您要进行比较,是否有理由缩短日期?您真的有兴趣忽略基于日期的差异吗?如果是的话,这就是您想要的方式吗?