有一个表TABLE1
里面的的列名、数据类型、长度如下:
column1(nvarchar 10) column2(money 8)
80% 
60%
-50%如何把column1里面的数据去掉‘%’,然后写入column2里面?或者在不改变其column1里面的内容,而可以sum(column1),如果这样,数据类型应该该成什么类型?谢谢大家!

解决方案 »

  1.   

    update TABLE1 
    set column2=replace(column1,'%','')select cast(sum(replace(column1,'%','')) as decimal(9,2))/100
    不好意思
    没有测试
      

  2.   

    select cast(sum(replace(column1,'%','')) as decimal(9,2))/100 from TABLE1 
      

  3.   


    update table1 set column1 = replace (column1,'%','')
    update table2 set column2 = cast ( stuff(cast(column2)as nvarchar(10),9,1,'%') as money(10)
      

  4.   

    LS的弄错了,第一个还可以!select stuff(cast('80%' as nvarchar(10)),9,1,'%')
    NULL结果为null这个是对的select sum(cast(replace(column1,'%','') as decimal(8,2)))/100
      

  5.   


    sum中需要数字类型的,字符串会抱错