mysql - 如何从下个月选择数据

时间:2015-06-05 08:31:09

标签: mysql date

我的表格包含iddate_fromdate_to个文件。 我需要找到date_to +1 month等于条件

的所有数据

例如> 如果date_to字段中的数据为2015-06-01WHERE条件为2015-07-01,我应该得到结果

SELECT *, (date_to + INTERVAL 1 MONTH) as 'next' FROM table_name WHERE 'next'='2015-07-01'

这是我的查询,显然不起作用;)

Tnx in adavance

1 个答案:

答案 0 :(得分:1)

首先,你不能在where条件中使用别名,而且条件也是错误的。它将是

SELECT * FROM table_name 
WHERE 
date_add(date_to,interval 1 month)='2015-07-01'

现在请注意,对于大型数据集,在日期字段中使用函数不是一个好主意,因为即使该字段是索引,它也将无法使用索引。因此,最好使用要过滤的数据上的函数而不是字段上的函数。所以上面的查询可以写成

SELECT * FROM table_name 
WHERE 
date_to= date_sub('2015-07-01',interval 1 month)