2014-11-04 89 views
2

我有一個名爲tbl_procie表,該表具有以下結構:如何轉換包含貨幣符號的varchar價格列,然後求和它?

CREATE TABLE `tbl_procie` (
    `id` int, 
    `price` varchar(25) 
); 

數據:

id price 
1 $2.5 
2 $5.3 

我希望能夠SUM()價格但它是目前varchar列還包含貨幣符號。我應該得到答案7.8

+1

價格列是MySQL的一個int數據類型? – 2014-11-04 13:47:06

+1

以不同的格式存儲它會更好嗎,比如 '[id price currency]'?那麼數字值中就不會有字符? – 2014-11-04 13:47:44

+2

這不是由我創建的客戶端和商店數據創建的。所以我想知道有關問題。 – 2014-11-04 13:53:18

回答

3
SELECT SUM(REPLACE(price,'$','')) AS cr 
FROM TABLENAME 
WHERE Valet_Company = "Demo Company" 
+1

定製的最新答案如果價格欄總是有$符號,我的回答會更快。 – 2014-11-04 14:02:09

+0

謝謝你很好回答Vivek ...(Y) – 2015-12-05 16:44:42

2

嘗試如下:

select sum(cast(price as double)) from tbl_temp 
3

SELECT SUM(price) AS [Price Total] FROM tbl_temp

或者,如果那不刪除$符號自動嘗試

SELECT SUM(TRIM(LEADING '$' FROM price)) AS [Price Total] FROM tbl_temp

+1

當每個價格之前有一個$ -sign時(這個問題沒有解決),這個功能就不起作用了。 – 2014-11-04 13:54:58

+1

爲 – Matt 2014-11-04 13:59:03