sql用像2012年12月12日这样的中文日期形式进行倒序排序,要怎么写呢?

sql用像2012年12月12日这样的中文日期形式进行倒序排序,要怎么写呢? 现在是用order by rq desc的,但是2012年9月是在2012年10月,11月,12月前面啊。。。这个字段类型是varchar的。麻烦知道的大虾说说哈。

因为中文日期格式化不能自动转换成日期,字符串的比较是一个一个字符进行比较的,9大於1所以会排在前面。
你可以在order by 後面对日期进行处理使sql按日期来排序
如 order by replace(replace(replace(rq,'年','/'),'月','/'),'日','')
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-04
如果数据格式不规范,字符串排序就做不到你要的效果,除非像‘9月’,都改为‘09月’这种格式