SQL排序顺序异常

问题描述:首先按照id排序查看,发现顺序异常。如下图所示:

select * from DM_TEST order by id;

问题分析:这是id是字符串类型导致的。字符串是按照他们在字典中的顺序决定的。从前到后依次比较。

解决方法:将位数不一致的前面补零即可。如果位数是三位或以上(同样补零处理即可)或者是把ID类型修改成NUMBER类型即可。

--设置ID为一位的前面补一个零

update DM_TEST set id = '0'||id where length(id) = 1;

分享一个小日常0.0

原文地址:https://www.cnblogs.com/zou-zou/p/11489821.html