如何在MYSQL中选择两个月名称的记录

时间:2017-10-25 07:46:36

标签: mysql sql

我是MYSQL的新手,所以我写了这样的东西。

modified_date就像月亮一样:2017-03-24 13:38:11

test.folder=C:/code/
file=File.csv

对于上述查询我收到错误(请参阅图片) enter image description here

4 个答案:

答案 0 :(得分:2)

这里的一个简单修复是使用数字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, ...);

我个人不喜欢使用MONTHYEAR,因为它将日期逻辑拆分为多个位置。另一种选择,如果你只想以2017年为目标,那就是使用日期文字:

SELECT *
FROM TableName  
WHERE
    modified_date >= '2017-03-01' AND modified_date < '2017-07-01';

答案 1 :(得分:2)

使用 MONTH 功能,而不是使用月份名称来获取月份(数字)。并在WHERE子句中使用它。

<强>查询

select * from TableName  
where month(modified_date) between 3 and 6;

答案 2 :(得分:-1)

您可以使用此查询

select event from date 
where month(date) between 3 and 6;

我使用下面的样本表

enter image description here

enter image description here

答案 3 :(得分:-1)

SELECT * FROM TableName  WHERE MONTH(modified_date) BETWEEN 3 AND 6;