получение данных за конкретные месяцы с даты в mysql - PullRequest
0 голосов
/ 12 мая 2018

У меня в MySQL есть столбец с именем added_date, тип данных - varchar(255), который вставляет дату, например mm/dd/yyyy. У меня есть много данных в таблице для таких дат, как '5/12/2018', '4/10/2018', '3/5/2018' и т. Д. Теперь я хочу получить данные только за май 2018 года.

Как получить данные только за май 2018 года?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

MySQL извлекает и отображает даты в формате 'YYYY-MM-DD'.Таким образом, вы должны использовать функцию STR_TO_DATE для преобразования строки в дату.Затем можно использовать ключевое слово BETWEEN в предложении WHERE для установки определенного диапазона дат:

SELECT *
FROM MyTable
WHERE STR_TO_DATE(added_date, '%m/%d/%Y') BETWEEN '2018-05-01' AND '2018-05-31';

Вы можете попробовать запрос онлайн.

0 голосов
/ 12 мая 2018

Преобразовать varchar в дату в формате, подходящем для ваших условий:

SELECT * FROM your_table WHERE STR_TO_DATE(added_date, '%c%Y') = '52018';

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

SELECT STR_TO_DATE(added_date, '%Y-%m-%d') AS fDate FROM your_table WHERE STR_TO_DATE(added_date, '%c%Y') = '52018';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...