Выберите записи за текущий месяц - PullRequest
2 голосов
/ 15 июня 2011

У меня есть таблица с полем varchar с именем slldate .Это поле содержит даты в этом формате:
2010-08-30
(ГГГГ-ММ-ДД)

Теперь я бы хотел выбрать записи, содержащие текущий месяц, с помощью запроса mysql.

Кто-нибудь?

Ответы [ 4 ]

7 голосов
/ 15 июня 2011

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

SELECT * FROM table WHERE MONTH(CAST(slidate as date)) = MONTH(NOW()) AND YEAR(CAST(slidate as date)) = YEAR(NOW())
3 голосов
/ 15 июня 2011

Попробуйте это:

SELECT * FROM table_name WHERE MONTH (slldate) = дата ('m') И ГОД (slldate) = дата ('Y');

1 голос
/ 04 сентября 2015

SELECT * FROM table_name ГДЕ ГОД (savedate) = ГОД (CURDATE ()) И МЕСЯЦ (savedate) = МЕСЯЦ (CURDATE ())

1 голос
/ 15 июня 2011

У меня есть таблица с полем varchar под названием slldate.Это поле содержит даты

Затем вы должны изменить его на поле даты.Вы (должны) знать, что это правильно.

Приведенный ниже метод будет работать с вашими строками varchar, но может быть несколько упрощен для дат.

Обратите внимание, что поскольку строки дат уже имеют порядок байтов, вам не нужно приводить их и терять преимущество индексации:

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