有一个表TABLE1
里面的的列名、数据类型、长度如下:
column1(nvarchar 10) column2(money 8)
80%
60%
-50%如何把column1里面的数据去掉‘%’,然后写入column2里面?或者在不改变其column1里面的内容,而可以sum(column1),如果这样,数据类型应该该成什么类型?谢谢大家!
里面的的列名、数据类型、长度如下:
column1(nvarchar 10) column2(money 8)
80%
60%
-50%如何把column1里面的数据去掉‘%’,然后写入column2里面?或者在不改变其column1里面的内容,而可以sum(column1),如果这样,数据类型应该该成什么类型?谢谢大家!
set column2=replace(column1,'%','')select cast(sum(replace(column1,'%','')) as decimal(9,2))/100
不好意思
没有测试
update table1 set column1 = replace (column1,'%','')
update table2 set column2 = cast ( stuff(cast(column2)as nvarchar(10),9,1,'%') as money(10)
NULL结果为null这个是对的select sum(cast(replace(column1,'%','') as decimal(8,2)))/100
sum中需要数字类型的,字符串会抱错