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

解决oracle语句中 含数字的字符串按数字排序问题

2014-08-20 10:09 363 查看
例如:

普通排序利用:order by 字段名 ASC

但是遇到有中文而且类型是varchar类型的结果就是这样

政采代(甲)字第0298号

政采代(甲)字第0421号

政采代(甲)字第1098号

政采代(甲)字第1267号(延续)

政采代(甲)字第1179号(延续)

但是我们要的结果应该是这样:

政采代(甲)字第0298号

政采代(甲)字第0421号

政采代(甲)字第1098号

政采代(甲)字第1179号(延续)

政采代(甲)字第1267号(延续)

解决办法:

利用oracle函数及正则表达式进行排序

order by to_number(regexp_substr(字段名,'[0-9]*[0-9]',1))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: