SQL基本日期问题

时间:2014-12-12 13:48:56

标签: mysql sql

我在" our_videos"中有2件物品。 table,On column" datemade"其中一个日期是" 2014-11-21 12:00:00",另一个是" 2014-11-22 12:00:00",我正在尝试使用此SQL命令选择它们(选择月度数据)

SELECT * FROM our_videos WHERE YEAR(datemade) = YEAR(NOW()) AND MONTH(datemade)= MONTH(NOW())

我明白了:

  

MySQL返回一个空结果集(即零行)。 (查询耗时0.0004秒)

选择本月数据的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

当前月份是十二月,即12。这是你想要的吗?

SELECT *
FROM our_videos
WHERE YEAR(datemade) = YEAR(NOW()) AND MONTH(datemade) = MONTH(NOW()) - 1;
----------------------------------------------------------------------^

顺便说一下,如果你改写where子句,查询可以使用索引:

WHERE datemade >= date_sub(date_sub(date(now()), interval day(now()) - 1 day), interval 1 month)
      datemade < date_sub(date(now()), interval day(now()) - 1 day)