问题:
某表名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
--按数值大小排序,同时把空值排到最后
本文介绍了一种在Oracle数据库中对特定字段进行数值排序的方法,解决了直接使用to_number或cast转换时遇到ORA-01722错误的问题。通过translate函数转换字符,实现了数值大小排序,并将空值排在最后。
问题:
某表名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
--按数值大小排序,同时把空值排到最后
1万+

被折叠的 条评论
为什么被折叠?