Запрос базы данных MySQL с отметкой времени - PullRequest
3 голосов
/ 01 октября 2010

У меня есть поле метки времени [SubmissionDate], которое по умолчанию равно current_timestamp, и мне было интересно, как мне сделать запрос к моей базе данных таким образом, чтобы, например, мне отображались только все записи, представленные в определенный год и месяц? Что-то вроде:

SELECT * FROM DNA_entrys
WHERE `SubmissionDate`.month = February
AND `SubmissionDate`.year = 2004

Должно быть элементарной операцией, но я не могу найти быстрый ответ на этот вопрос

Ответы [ 2 ]

1 голос
/ 01 октября 2010
SELECT * FROM DNA_entrys
WHERE month(`SubmissionDate`) = 2
AND year(`SubmissionDate`) = 2004

, но я предлагаю:

SELECT * FROM DNA_entrys
WHERE `SubmissionDate` between '2004-02-01' and ('2004-03-01' - INTERVAL 1 SECOND)

последний позволяет использовать индексы, что делает запрос быстрее, если у вас есть это поле, проиндексированное.

1 голос
/ 01 октября 2010

Это работает?

SELECT * FROM DNA_entrys
WHERE MONTH(SubmissionDate) = 2
AND YEAR(SubmissionDate) = 2004
...