时间字符串的排序为何不一致
本帖最后由 koala_boy 于 2013-08-26 20:12:09 编辑
SELECT MONDAY,COUNT(*) from (select concat(concat(month(FBizdate),'-'),dayofmonth(FBizdate)) AS MONDAY FROM A
where fbizdate >= convert(datetime,'2013-08-1')
order by fbizdate ) GROUP BY MONDAY ORDER BY MONDAY
内外循环的顺序太不一致
怎么做才能 8-6 8-7 这么走下去?合并之后,日期的排序就是不照着这个来,求解释,谢谢!
------解决方案--------------------FBizdate在内查询中是时间格式,测试排序,数据库可以正常的按照时间排序,所以是正常的。
但是同时在内查询的select中你把FBizdate转换成了字符串,数据库当然就按照字符串来排序了。
------解决方案--------------------你可以让日期格式化成两位再排序
------解决方案--------------------ORDER BY MONDAY
改成
order by to_date(MONDAY,'mm-dd')