我想在表格中选择当前月份行
我试过这个
SELECT * FROM table WHERE YEAR(date) = YEAR(CURDATE()) AND MONTH(date) = MONTH(CURDATE())
但它没有用。
答案 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中的所有记录