2014-01-16 120 views
-5

我有一些數據庫表與相應的值。現在我想要對列進行「總和」。每當我嘗試這樣做,它會產生錯誤「操作數數據類型varchar對求和運算符」無效。我有4列varchar(100)作爲它的數據類型。Sql數學計算

+3

請告訴我們您的查詢。 – Oyeme

+4

你爲什麼要在'varchar'列中存儲數值? (如果它們不是數字,你爲什麼要把它們加在一起呢?) –

+0

謝謝Martin Smith。它的所有值都是數字。但我用varchar。所以我想知道它爲什麼會產生錯誤以及如何清除。 –

回答

0

你可以試試這個然後圓潤答案

select Round(sum(cast(column as float)),2) 
+0

非常感謝DhruvJoshi。現在它的工作。我認爲這是正常的事情。但我是那個初學者。再次感謝你。 –

2

那麼,錯誤信息是非常清楚的。 「總結」字符串的想法是沒有意義的。如果數字真的被存儲在一個字符串表示,只是使用CAST:

select sum(cast(column as float)) 
+0

非常感謝您的回覆Gordon Linoff。現在它的工作。我將所有值存儲爲數字,我可以使用整數數據類型。但我用varchar。我可以知道我們爲什麼使用float數據類型嗎? –

+0

@ArunkumarMurugesan。 。 。因爲你沒有指定數字的樣子。 'float'比'int'或'unsigned'更普遍。如果數字是整數,則轉換爲適當的類型。更好的辦法是修復表格,以便將數據存儲爲正確的類型。 –

+0

感謝您的寶貴答案..再次感謝你.. –