oracle9i中varchar2(5)字段长度不足5前面补0?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle9i中varchar2(5)字段长度不足5前面补0?相关的知识,希望对你有一定的参考价值。

具体情况是这样的 本来这个流水号这个字段中应该存储的值为:00001、00002、。。。。09999这样的数据,而且不应该有重复,但是现在出现了两个00005,那么就需要第二个00005改成0006,后面的数据大小应该都加1;
我是先将这个varchar2字段先to_number()的,然后将00006及其后面的值加1,然后将00005改成00006,这样number类型的数据是理顺了,现在需要这正确的number值转换为00001形式了,我知道access数据库中有这样的方法:update table set lsh(流水号)=right(100000+lsh,5),但是oracle中没有这个方法!!
请教各位大侠oracle中应该怎么处理最后一步的这个转换呢???

参考技术A 用lpad(字符串,位数,要补的字符)
lpad('1', 5, '0')='00001'本回答被提问者采纳
参考技术B update table set lsh = trim(to_char(lsh + 1, '00000')) where lsh > '00005'

以上是关于oracle9i中varchar2(5)字段长度不足5前面补0?的主要内容,如果未能解决你的问题,请参考以下文章

oracle两个表varchar2长度不一致会走索引吗?还有char型和varchar2型的字段关联会走索引吗?

设计数据库表时要不要定义字段的长度?指定字段长度和不指定长度有啥区别?

oracle中clob可以转成varchar2吗

Oracle的CLOB大数据字段类型(转)

Mysql varchar字段长度越大越好吗?

oracle如果要修改字段长度值一定没东西吗