поиск по дате и времени с использованием подразделов строки ГГГГ-ММ-ДД ЧЧ: ММ - PullRequest
1 голос
/ 25 февраля 2010

[MySQL / PHP] Моя таблица имеет столбец date в формате datetime. Все записи относятся к сорту YYYY-MM-DD HH:MM:SS.

MySQL-запросы вроде SELECT record FROM table WHERE date > '1941' AND date < '1945' отлично работают.

MySQL-запросы, такие как SELECT record FROM table WHERE date > '1941-03-01' AND date < '1945-01-30', также хорошо работают.

Но что если я захочу, чтобы все записи были поданы в марте, независимо от года? Или все записи, поданные 17 числа, независимо от месяца / года?

`` ВЫБРАТЬ запись из таблицы WHERE date = '03'` явно не работает.

Я знаю, что могу поймать его с параметром LIKE '%-03-%', но это не оставляет места для поиска диапазона, как все записи с марта по май.

Помощь? : -)

Ответы [ 3 ]

2 голосов
/ 25 февраля 2010

Вы можете использовать функции даты MySQL:

SELECT record FROM table WHERE MONTH(date) = 3
SELECT record FROM table WHERE DAY(date) = 17

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

2 голосов
/ 25 февраля 2010

Попробуйте WHERE MONTH(DATE(`date`)) BETWEEN '03' AND '05'

Часть DATE() предназначена для извлечения даты из отметки времени, которая будет использоваться с MONTH().

1 голос
/ 25 февраля 2010

Если вы посмотрите на http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html,, вы найдете много полезных функций для вашей цели. ... WHERE MONTH(date) = 3, например =)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...