【发布时间】:2014-08-08 06:52:34
【问题描述】:
我正在处理一个项目,其中有两个表 - 一个是 tbllessontopic,它保存独特的课程计划,另一个表 tbllessonperiodallocation,它保存将教授课程计划的日期。现在我已经应用查询来获取所有日期使用 group_concat() 函数在一个名为日期的列中的特定课程计划。现在我正在尝试按升序排列此列中的日期,我在 tbllessonperiodallocation 中的列日期是 var char 类型,因此在尝试将其转换为日期时间格式我收到错误的日期时间值错误。请建议我如何实现这一点。
查询
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 日与今天的日期匹配
【问题讨论】:
-
为什么要同时使用 Date_format 和 str_to_date 函数
-
因为我在某处看到将字符串转换为日期时间,所以我们必须像在上面的查询中那样做
标签: mysql sql date-format group-concat str-to-date