我需要一个SQL查询来比较基于年份和月份的两个日期。比较2日期,而不考虑当天
I.e.一个日期是2017-07-12,第二个日期是2017-07-30。
由于他们都共享相同的月份和年份,我需要让他们在我的WHERE查询。
我知道如何使用DATEFORMAT(将它们转换为yyy-mm-01格式)。我想知道是否有更清洁的方式。
我需要一个SQL查询来比较基于年份和月份的两个日期。比较2日期,而不考虑当天
I.e.一个日期是2017-07-12,第二个日期是2017-07-30。
由于他们都共享相同的月份和年份,我需要让他们在我的WHERE查询。
我知道如何使用DATEFORMAT(将它们转换为yyy-mm-01格式)。我想知道是否有更清洁的方式。
可以使用Month()
和Year()
功能比较他们的月和年:
WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2);
他们的手册中的mysql date and time functions page一些有用的信息。
MySQL的功能EXTRACT()
可用于这一目的:
WHERE EXTRACT(YEAR_MONTH FROM date1) = EXTRACT(YEAR_MONTH FROM date2)
EXTRACT(YEAR_MONTH FROM '2017-07-12')
回报'201707'
。
向我们显示查询 – RiggsFolly