Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 比较两个日期,不考虑日期_Mysql_Date - Fatal编程技术网

Mysql 比较两个日期,不考虑日期

Mysql 比较两个日期,不考虑日期,mysql,date,Mysql,Date,我需要一个SQL查询来比较两个日期,只基于它们的年和月 即一个日期为2017-07-12,第二个日期为2017-07-30 由于它们共享同一个月份和年份,我需要在WHERE查询中获取它们 我知道如何使用DATEFORMAT(将两者转换为yyy-mm-01格式)。我想知道是否有更干净的方法。您可以使用month()和year()函数比较它们的月份和年份: WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2); 在他们的手册中有

我需要一个SQL查询来比较两个日期,只基于它们的年和月

即一个日期为2017-07-12,第二个日期为2017-07-30

由于它们共享同一个月份和年份,我需要在WHERE查询中获取它们


我知道如何使用DATEFORMAT(将两者转换为yyy-mm-01格式)。我想知道是否有更干净的方法。

您可以使用
month()
year()
函数比较它们的月份和年份:

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

在他们的手册中有一些关于这方面的好信息

您可以使用
month()
year()
功能比较它们的月份和年份:

WHERE YEAR(date1)=YEAR(date2) AND MONTH(date1) = MONTH(date2);
在他们的手册中有一些关于这方面的好信息

MySQL函数可用于此目的:

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

EXTRACT(从'2017-07-12'开始的年/月)
返回
'201707'

MySQL函数可用于此目的:

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


摘录(从'2017-07-12'起的年/月)
返回
'201707'

显示查询显示查询