本文主要是介绍Oracle 数据库中 字符型字段 按数字排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
由于需要维护表里面的值,id主键是字符串型,保存的都是数字,每次都要看好久,才知道新增id,用哪个数字;
遇到了一个主键排序的问题。字符型的主键,保存的都是数字,数据导过来以后发现数据排序都是乱的,就想着按数字规则排序。
但发现to_number总是报错,就想着里面应该是有字符存在。后来使用了正则关系式,问题解决。
以下是正则关系式的两种用法,记录下来:
方法一:
select * from nc_dept order by to_number(regexp_substr(id,'[0-9]*[0-9]',1));
方法二:
select * from nc_dept order by to_number(translate(id, '0123456789.' || id, '0123456789.')) asc nulls last;
这篇关于Oracle 数据库中 字符型字段 按数字排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!