一尘不染

varchar列中的数据总和

sql

我必须对varchar列中的元素求和(SCENARIO1),并包含类似(1,920,270.00,0,NULL)的数据,但是当我尝试将数据转换为int或小数时,会出现此错误:“转换时,他的命令是错误的值“
4582014,00”为int类型”

这是我的要求:

select sum( convert( int, SCENARIO1) )
from Mnt_Scenario_Exercice where code_pere='00000000'

任何帮助,请


阅读 128

收藏
2021-03-17

共1个答案

一尘不染

试试这个

select sum(cast(replace(SCENARIO1, ',', '.') as decimal(29, 10)))
from Mnt_Scenario_Exercice
where code_pere = '00000000';

如果无法将其转换'4582014,00'为小数,则服务器上可能会有不同的小数分隔符。您可以看看它是什么,或者尝试'.'

2021-03-17