请问各位大侠:有一个字符字段A,内容:"0000000001"至"0000000020",然后通过appe from 往里面增加数据(格式一样的),新增加的字段A也是"0000000001"至"0000000020",这样字段a就重复了,我想把新增加字段a的改为"0000000021"至"0000000040"(这个数据内容只是假设,不一定每次都是"0000000020",可能下次是"0000000025",根据记录多少变化,没有规律的),该如何操作呢?

解决方案 »

  1.   

    选出表中最大的值,转为int类型加到当前insert的值,然后转为字符型并前补足够的'0'字符。
      

  2.   

    declare @t table(A varchar(20))
    insert @t
    select '0000000001' union all
    select '0000000002' union all
    select '0000000003' union all
    select '0000000004' union all
    select '0000000005' insert @t (A) select right('0000000000' + rtrim((select max(cast(A as int)) + 1 from @t)),10)
    insert @t (A) select right('0000000000' + rtrim((select max(cast(A as int)) + 1 from @t)),10)
    insert @t (A) select right('0000000000' + rtrim((select max(cast(A as int)) + 1 from @t)),10)
    insert @t (A) select right('0000000000' + rtrim((select max(cast(A as int)) + 1 from @t)),10)
    insert @t (A) select right('0000000000' + rtrim((select max(cast(A as int)) + 1 from @t)),10)select * from @t