Oracle排序报错“ORA-01722: 无效数字”处理

2014-11-24 18:28:32 · 作者: · 浏览: 0

问题:


某表名tab,内有一个字符型字型需数值大小排序,但直接采用to_number、cast等手段均报ORA-01722: 无效数字


解决:


select t.xzjg from tab t


order by to_number(translate(t.xzjg, '0123456789.' || t.xzjg, '0123456789.')) asc nulls last


--按数值大小排序,同时把空值排到最后