我有一個連接到經典的asp頁面的訪問數據庫。 它應該添加2列中的值,而不是添加它將數據連接在一起。 即1 + 1
被顯示爲11
不2
SQL SUM +不能像應該那樣工作
SELECT (desc_1_amnt + desc_2_amnt) AS Sum
FROM Sales_data
如果我使用-
標誌或標誌*
它做工精細。只是似乎沒有加起來。
我有一個連接到經典的asp頁面的訪問數據庫。 它應該添加2列中的值,而不是添加它將數據連接在一起。 即1 + 1
被顯示爲11
不2
SQL SUM +不能像應該那樣工作
SELECT (desc_1_amnt + desc_2_amnt) AS Sum
FROM Sales_data
如果我使用-
標誌或標誌*
它做工精細。只是似乎沒有加起來。
+
運算符添加數值但連接字符串值。
以下是立即窗口的示例。
? 1 + 1
2
? "1" + "1"
11
可能的解釋是,你desc_1_amnt
和desc_2_amnt
字段是文本數據類型。在這種情況下,您可以在添加文本之前將文本值轉換爲數字。
SELECT (Val(desc_1_amnt) + Val(desc_2_amnt)) AS [Sum]
+運算可以是一個或arithmetic additionstring concatenation。從你的問題來看,這聽起來像「11」的結果意味着數據類型是某種文本而不是數字。
將列更改爲數字類型應該會給您預期的結果。或者,您可以使用CAST
or CONVERT
將文本轉換爲數字。
「desc_1_amnt」和「desc_2_amnt」的數據類型是什麼?我假設他們是文本類型。 –
他們只是數值 – user3166621
Dave Zych謝謝你。數據類型被設置爲更改爲數字的文本。 – user3166621