如何在mysql表中选择当月的日期范围?

时间:2011-07-01 14:27:07

标签: mysql sql

我想在表格中选择当前月份行

我试过这个

SELECT * FROM table WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE())

但它没有用。

2 个答案:

答案 0 :(得分:3)

我不是MySQL引擎的专家,但我的猜测是,通过比较列和实际日期值而不是使用你拥有的日期函数,你会更好。一旦将列包装在日期函数中,它将使列上的索引无效。

我没有在这台机器上测试MySQL引擎,但这里有一些伪代码:

SELECT
    <column list>
FROM
    My_Table
WHERE
    my_date >= <get 1st of current month>(CURDATE()) AND
    my_date <  <get 1st if next month>(CURDATE())

答案 1 :(得分:0)

这是我尝试过的最简单的方法,并且您想要选择本月date_field所在的行。

SELECT * FROM your_table WHERE date_field > (NOW() - INTERVAL 1 MONTH);

以上将返回date_field本月在mysql中的所有记录