Если у меня есть список данных следующим образом:
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
Мне нужен запрос для работы в обоих случаях.
Если postdate
имеет тип DATE
, вы можете использовать функцию EXTRACT
, например:
SELECT * FROM table WHERE EXTRACT(YEAR FROM postdate) = EXTRACT(YEAR FROM (DATE '2008-01-01'))
Возможно, было бы лучше отделить эти два случая, только год или только полная дата.