5103005_1_1
5103005_1_20
5103005_1_3
5103005_1_4
5103005_1_5
5103005_1_6
5103005_1_7
5103005_1_8
5103005_1_9
5103005_1_10
5103005_1_11
5103005_1_12
5103005_1_13
如何转换成
5103005_1_001
5103005_1_020
5103005_1_003
5103005_1_004
5103005_1_005
5103005_1_006
5103005_1_007
5103005_1_008
5103005_1_009
5103005_1_010
5103005_1_011
5103005_1_012
5103005_1_013
因为编码位数不一致导致软件前台排序是乱的 请大神指导 非常感谢
5103005_1_20
5103005_1_3
5103005_1_4
5103005_1_5
5103005_1_6
5103005_1_7
5103005_1_8
5103005_1_9
5103005_1_10
5103005_1_11
5103005_1_12
5103005_1_13
如何转换成
5103005_1_001
5103005_1_020
5103005_1_003
5103005_1_004
5103005_1_005
5103005_1_006
5103005_1_007
5103005_1_008
5103005_1_009
5103005_1_010
5103005_1_011
5103005_1_012
5103005_1_013
因为编码位数不一致导致软件前台排序是乱的 请大神指导 非常感谢
select '5103005_1_20' c from dual
union all
select '5103005_1_1' c from dual
)
select substr(c,1,10) || lpad( substr(c,11,20),3,'0') n from m
select '5103005_1_20' num from dual
union all
select '5103005_1_1' num from dual
)
select substr(num,1,instr(num,'_',1,2))||lpad(regexp_substr(num,'[^_]+',1,3),3,'0') as new_num from t1;