我有有一欄表:類型的balance_amount
VARCHAR
PHP的MySQL SUM與十進制格式
現在我面臨的問題時,我想SUM。
例:
,如果我有內容列:
125,000.00
170,000.00
這將只顯示:295
我要的是:295,000.00
我有有一欄表:類型的balance_amount
VARCHAR
PHP的MySQL SUM與十進制格式
現在我面臨的問題時,我想SUM。
例:
,如果我有內容列:
125,000.00
170,000.00
這將只顯示:295
我要的是:295,000.00
這裏是SQLFiddle
SELECT FORMAT(SUM(CAST(REPLACE(REPLACE(col,',00',''),'.','') AS SIGNED)), 2)
AS sumOfColumn
FROM tab
由於使用了數千個逗號分隔符,所以仍然存在問題:最佳解決方案是讓OP修改其列類型,但您可能需要在鑄造之前規定這些逗號 –
@MarkBaker查看我的更新回答 –
我可以將數字格式設置爲結果嗎?我看到它只是125000.我希望125,000.00 –
您將需要刪除千位分隔符。
select sum(replace(column,',','')) from table;
理想情況下,儘管您應該使用適當的字段定義存儲數字,並且只是格式化數字以供顯示。
125,000.00是一個字符串,而不是數字 – Anigel
由於該值存儲爲文本並且格式完整,因此您將在計算數據時重新格式化許多問題。您可能需要首先進行表寬轉換並停止以文本形式存儲 – jeff
使用小提琴查看我的更新答案 –