2014-03-18 60 views
0

我知道这对一些人来说可能很简单,但是我很难用这个。我只是想将两列加在一起。我的第一个数字是“FirstShift”= 90,“SecondShift”= 100。为什么我没有得到190?我应该看到我的23条记录都有不同的值,190是我的最高记录。TSQL添加两个数字

SELECT 
    [FirstShift] + [SecondShift] AS [Total Counted] 
FROM 

感谢

+0

这两个列都有一个数字数据类型' –

+0

yeup,只是数字。我得到像他们90100的串联。 – Frater

+1

应该工作:http://sqlfiddle.com/#!3/df6a8/1 –

回答

3

如果这些都不是数字字段,你将不得不解决您的架构,或者将它们转换为数字字段。

如果您不想修复您的模式,请尝试将您的查询更改为此。

SELECT 
    CAST([FirstShift] AS DECIMAL) + CAST([SecondShift] AS DECIMAL) AS [Total Counted] 
FROM 
3

好吧...... “真是” 一举两得代表[FirstShift]和表列[SecondShift]有一个数字数据类型?

我知道它被问了,但你真的认为你说的是​​什么吗?

如果任何一个字段是字符串,那么“+”运算符将充当“连接符”。 如果两个领域是数字它将作为一个“和”操作行为...

Table [A] 
[FirstShift] VARCHAR(10) holds value "90" 
[SecondShift] VARCHAR(10) holds value "100" 

[FirstShift] + [SecondShift] ==> "90100" 

鉴于

Table [A] 
[FirstShift] INTEGER(10) holds value 90 
[SecondShift] INTEGER(10) holds value 100 

[FirstShift] + [SecondShift] ==> 190