时间字符串的排序为何不一致

koala_boy 2013-08-26 08:11:38
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 这么走下去?合并之后,日期的排序就是不照着这个来,求解释,谢谢!
...全文
179 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
koala_boy 2013-08-27
  • 打赏
  • 举报
回复
十分感谢三位,询问朋友之后,用的是三楼的那种方法解决的,谢谢!
u010412956 2013-08-27
  • 打赏
  • 举报
回复
ORDER BY MONDAY 改成 order by to_date(MONDAY,'mm-dd')
taste品味 2013-08-27
  • 打赏
  • 举报
回复
你可以让日期格式化成两位再排序
  • 打赏
  • 举报
回复
FBizdate在内查询中是时间格式,测试排序,数据库可以正常的按照时间排序,所以是正常的。 但是同时在内查询的select中你把FBizdate转换成了字符串,数据库当然就按照字符串来排序了。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧