在SQL Server中将Varchar值转换为整数/十进制值

Phi*_*Tel 5 php sql sql-server

如何将数据类型的表中记录的值转换varchar为integer或者decimal我可以得到值的总和.我用SQL Server 2005.

假设我有这样的表结构:

ID int
Stuff varchar
Run Code Online (Sandbox Code Playgroud)

和记录

ID = 1, Stuff = 32.43
ID = 2, Stuff = 43.33
ID = 3, Stuff = 23.22
Run Code Online (Sandbox Code Playgroud)

现在我想得到列Stuff的总数:

SELECT SUM(convert(decimal(4,2), Stuff)) as result FROM table
Run Code Online (Sandbox Code Playgroud)

但它不起作用.请帮忙!

Hac*_*man 8

表结构......非常基本:

create table tabla(ID int, Stuff varchar (50));

insert into tabla values(1, '32.43');
insert into tabla values(2, '43.33');
insert into tabla values(3, '23.22');
Run Code Online (Sandbox Code Playgroud)

查询:

SELECT SUM(cast(Stuff as decimal(4,2))) as result FROM tabla
Run Code Online (Sandbox Code Playgroud)

或者,试试这个:

SELECT SUM(cast(isnull(Stuff,0) as decimal(12,2))) as result FROM tabla
Run Code Online (Sandbox Code Playgroud)

在SQLServer 2008上工作