mysql返回匹配年份的行

时间:2009-09-14 16:55:05

标签: sql mysql

我如何进行查询,返回包含查询时当前年份和月份日期的所有行的结果。

每行的时间戳格式如下:yyyy-mm-dd

我知道它可能与日期函数有关,我必须以某种方式设置一个特殊的参数,使它像这样吐出:yyyy-mm - %%。

将天数设置为外卡角色可以解决问题,但我似乎无法弄清楚如何做到这一点。

这是一个链接,用于快速参考mysql中的日期时间函数:

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html

由于

3 个答案:

答案 0 :(得分:12)

我认为EXTRACT是您正在寻找的功能:

SELECT * FROM table
WHERE EXTRACT(YEAR_MONTH FROM timestamp_field) = EXTRACT(YEAR_MONTH FROM NOW())

答案 1 :(得分:5)

您可以使用函数提取年份和月份,但无法使用索引。

如果您想要可扩展的性能,则需要执行以下操作:

SELECT *
  FROM myTable
 WHERE some_date_column BETWEEN '2009-01-01' AND '2009-01-31'

答案 2 :(得分:1)

select * from someTable where year(myDt) = 2009 and month(myDt) = 9 and day(myDt) = 12