您的位置:首页 > 数据库 > Oracle

oracle中数字排序问题

2014-11-06 11:02 204 查看
oracle 中有若需对一个字段(假设设定为:user_no)进行排序,而其值为,1,2,3.,5,6,9,10,12,K3,K1。

我们直接使用 order by user_no ,发现得到的排序顺序为 :1,10,12,2,5,6,9,K1,K3。

但实际上我们要的排序顺序为:1,2,5,6,9,,10,12,K1,K3 ,得到数据与我们想要的数据不一样。

这时候我们需要用accii 值,去做处理,得到我们想要的数据。语句如下:

order by lpad(decode(sign(ascii(SUBSTR(user_no,-1))-57),1,user_no,user_no||'A'),5,'0');
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: