Невозможно преобразовать строку в дату и время в запросе MySQL

Я работаю над проектом, в котором у меня есть две таблицы: одна - tbllessontopic, которая сохраняет уникальные планы уроков, а другая таблица - tbllessonperiodallocation, которая сохраняет даты, для которых будет проводиться обучение план урока. Теперь я применил запрос, чтобы получить все даты конкретного урока. план в одном столбце с именем date с помощью функции group_concat (). Теперь я пытаюсь расположить даты в этом столбце в порядке возрастания, дата моего столбца в tbllessonperiodallocation имеет тип var char, поэтому при попытке преобразовать его в формат datetime я Я получаю сообщение об ошибке неверное значение даты и времени. Пожалуйста, подскажите, как я могу этого добиться.

Запрос

select l.id,l.topic,l.dateallocated,l.noofperiods,s.subjectname,c.classname,
group_concat(p.date order by DATE_FORMAT(STR_TO_DATE(p.date, '%d %m %Y'), '%Y-%m-%d') asc)  as date from tbllessontopic l
join tbllessonperiodallocation p on p.lessontopicid=l.id
join tblclass c on c.classcode=l.classcode
join tblsubject s on s.sshortname=l.subject group by p.lessontopicid

Выход

введите описание изображения здесь

Помимо этой проблемы, если возможно, я хочу сравнить первую дату в столбце даты с сегодняшней датой и хочу узнать записи, которые выпадают сегодня или после сегодняшней даты, например, моя первая строка имеет 27 августа 2013 г., 07 ноября 2013 г., 05 мая 2014 г. теперь я хочу сопоставить 27 августа 2013 года с сегодняшней датой


person rupinder18    schedule 18.06.2014    source источник
comment
почему вы используете функции Date_format и str_to_date вместе   -  person K.K.Agarwal    schedule 18.06.2014
comment
потому что я где-то видел, как преобразовать строку в дату, время, которое мы должны сделать так, как я сделал в запросе выше   -  person rupinder18    schedule 18.06.2014


Ответы (1)


Q1) Попробуйте изменить% m "Месяц, числовой (00-12)" на% M "Название месяца". Q2) GROUP_CONCAT ORDER BY

person Darren Lilley    schedule 18.06.2014
comment
спасибо, это решило мою неправильную проблему с датой и временем, и я уже использовал порядок. Пожалуйста, помогите мне решить вторую часть, где я могу сопоставить первую дату с сегодняшней датой - person rupinder18; 18.06.2014