2014-01-06 47 views
2

我有一個連接到經典的asp頁面的訪問數據庫。 它應該添加2列中的值,而不是添加它將數據連接在一起。 即1 + 1被顯示爲112SQL SUM +不能像應該那樣工作

SELECT (desc_1_amnt + desc_2_amnt) AS Sum 
FROM Sales_data 

如果我使用-標誌或標誌*它做工精細。只是似乎沒有加起來。

+1

「desc_1_amnt」和「desc_2_amnt」的數據類型是什麼?我假設他們是文本類型。 –

+0

他們只是數值 – user3166621

+0

Dave Zych謝謝你。數據類型被設置爲更改爲數字的文本。 – user3166621

回答

1

+運算符添加數值但連接字符串值。

以下是立即窗口的示例。

? 1 + 1 
2 
? "1" + "1" 
11 

可能的解釋是,你desc_1_amntdesc_2_amnt字段是文本數據類型。在這種情況下,您可以在添加文本之前將文本值轉換爲數字。

SELECT (Val(desc_1_amnt) + Val(desc_2_amnt)) AS [Sum] 
1

+運算可以是一個或arithmetic additionstring concatenation。從你的問題來看,這聽起來像「11」的結果意味着數據類型是某種文本而不是數字。

將列更改爲數字類型應該會給您預期的結果。或者,您可以使用CAST or CONVERT將文本轉換爲數字。

相關問題