如果我有以下数据列表:
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
我需要一个查询可以适用于这两种情况。
答案 0 :(得分:0)
如果postdate
的类型为DATE
,则可以使用EXTRACT
函数,如下所示:
SELECT * FROM table WHERE EXTRACT(YEAR FROM postdate) = EXTRACT(YEAR FROM (DATE '2008-01-01'))
也许最好区分这两种情况,只搜索一年或完整日期。