MySQL возвращает строки, соответствующие месяцу года - PullRequest
1 голос
/ 14 сентября 2009

Как мне поступить с запросом, который возвращает результаты всех строк, которые содержат даты за текущий год и месяц на момент запроса.

Временные метки для каждого ряда отформатированы так: гггг-мм-дд

Я знаю, что, возможно, это как-то связано с функцией даты, и я должен каким-то образом установить специальный параметр, чтобы он выплевывался так: yyyy-mm - %%.

Установка дней в качестве символа подстановки может помочь, но я не могу понять, как это сделать.

Вот ссылка для быстрого ознакомления с функциями даты и времени в mysql:

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

Спасибо

Ответы [ 3 ]

12 голосов
/ 14 сентября 2009

Я думаю, что EXTRACT - это функция, которую вы ищете:

SELECT * FROM table
WHERE EXTRACT(YEAR_MONTH FROM timestamp_field) = EXTRACT(YEAR_MONTH FROM NOW())
5 голосов
/ 14 сентября 2009

вы можете извлечь год и месяц, используя функцию, но вы не сможете использовать индекс.

если вам нужна масштабируемая производительность, вам нужно сделать следующее:

SELECT *
  FROM myTable
 WHERE some_date_column BETWEEN '2009-01-01' AND '2009-01-31'
1 голос
/ 14 сентября 2009
select * from someTable where year(myDt) = 2009 and month(myDt) = 9 and day(myDt) = 12
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...