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