我对 MYSQL 非常陌生,所以我写了这样的东西。
modified_date 是月份,例如:2017-03-24 13:38:11
select * from TableName
where monthname(modified_date) between monthname(a.modified_date)= "March"
and monthname(modified_date)="June" ;
最佳答案
这里的一个简单解决方法是使用数字 MONTH
函数:
SELECT *
FROM TableName
WHERE MONTH(modified_date) BETWEEN 3 AND 6;
但实际上您可能还想限制年份,在这种情况下您可以使用:
SELECT *
FROM TableName
WHERE
MONTH(modified_date) BETWEEN 3 AND 6 AND
YEAR(modified_date) IN (2017, ...);
我个人不喜欢使用MONTH
和YEAR
,因为它将日期逻辑分割到多个位置。如果您只想以 2017 年为目标,还有另一种选择是仅使用日期文字:
SELECT *
FROM TableName
WHERE
modified_date >= '2017-03-01' AND modified_date < '2017-07-01';
关于mysql - 如何在MYSQL中选择两个月份名称之间的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46926764/