使用关键字搜索日期

时间:2011-02-10 07:50:10

标签: mysql date

如果我有以下数据列表:

id      name          postdate      
46      apple         2011-02-20     
47      orange        2011-01-12      
49      banana        2008-07-01  

如何根据年份和日期制作MYSQL搜索查询?

我尝试使用此查询进行搜索,但只有SELECT * FROM table WHERE post date like '%2008-07-01 %';似乎没有问题。

此查询不起作用...

SELECT * FROM table WHERE post date like '%2008%';
Error: Incorrect data value: '%2004%' for column postdate

我需要一个查询可以适用于这两种情况。

1 个答案:

答案 0 :(得分:0)

如果postdate的类型为DATE,则可以使用EXTRACT函数,如下所示:

SELECT * FROM table WHERE EXTRACT(YEAR FROM postdate) = EXTRACT(YEAR FROM (DATE '2008-01-01'))

也许最好区分这两种情况,只搜索一年或完整日期。