有个字段是字符串类型的,但是里面都是数字,能不能统一的把这个字段的数字都统一加上,他们每个单独数字的和呢?比如,这个字段值是12345那就应该变成12345+(1+2+3+4+5)=12360
例:
value
12
15
17
13就应该变成
15
21
25
17

解决方案 »

  1.   

    create view viewname
    as
    select cast(id as signed) + substring(id,1,1)+substring(id,2,2)+substring(id,3,3)+substring(id,4,4)+substring(id,5,5)
    from tablename建立上面的视图就可以达到你的目的,但我这个视图是建立在一个假设上的:id的最大位数为5。 你可以估计下大概需要多少位,substring(id,5,5),需要指出的是,即使id的位数值有3位,substring(id,5,5)也不会报错,并且substring('123',3,3)=substring('123',3,3)+substring('123',4,4)+substring('123',5,5),所以你可以事先假设一个最大位数。
      

  2.   

    用辅助表字段ID,内容1-100000
    select a.value,a.value+sum(b.id) from a inner join b on b.id<=a.value group by a.value