MySQL, дата сравнения меньше другой в формате ДД-МММ-ГГГГ - PullRequest
2 голосов
/ 28 ноября 2011

Итак, у меня есть срок выполнения задач, который хранится в базе данных как «10 -nov-2011».

Есть ли кто-то, кто может сделать запрос, чтобы выбрать все задачи, срок выполнения которых меньше, чем сейчас?

Прямой срок <сегодня не работает. </p>

Ответы [ 2 ]

4 голосов
/ 28 ноября 2011

Измените столбец на тип date.Тогда ваш запрос будет работать.

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

WHERE STR_TO_DATE(due, '%d-%b-%Y') < NOW()
1 голос
/ 28 ноября 2011

Если все ваши даты в указанном выше формате, вы можете преобразовать символы в даты, и ваше сравнение будет работать с использованием сравнений меньше или больше.

Чтобы преобразовать вашу строку в дату просто попробуйте это

select str_to_date('10-nov-2011','%d-%b-%Y');

Учитывая ваш пример и предполагая, что ваш столбец называется due_date, а ваша таблица называется task, ваш запрос будет выглядеть примерно так:

select * 
from tasks 
where str_to_date(due_date,'%d-%b-%Y') < CURDATE();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...