2017-07-12 78 views
0

我需要一个SQL查询来比较基于年份和月份的两个日期。比较2日期,而不考虑当天

I.e.一个日期是2017-07-12,第二个日期是2017-07-30。

由于他们都共享相同的月份和年份,我需要让他们在我的WHERE查询。

我知道如何使用DATEFORMAT(将它们转换为yyy-mm-01格式)。我想知道是否有更清洁的方式。

+0

向我们显示查询 – RiggsFolly

回答

2

可以使用Month()Year()功能比较他们的月和年:

WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2); 

他们的手册中的mysql date and time functions page一些有用的信息。

1

MySQL的功能EXTRACT()可用于这一目的:

WHERE EXTRACT(YEAR_MONTH FROM date1) = EXTRACT(YEAR_MONTH FROM date2) 

EXTRACT(YEAR_MONTH FROM '2017-07-12')回报'201707'