我正在开展一个项目,我有两个表 - 一个是tbllessontopic,它保存了独特的课程计划和另一个表tbllessonperiodallocation,它保存了将要教授课程计划的日期。现在我已应用查询来获取所有日期通过使用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
输出
除了这个问题,如果可能的话,我想将日期栏中的第一个日期与今天的日期进行比较,并希望找出今天或今天之后的记录,例如我的第一行有2013年8月27日,2013年11月7日,2014年5月5日,现在我希望将2013年8月27日与今天的日期相匹配