2012-02-09 64 views
1

我不想要一個貨幣符號,但我有像;在MySql中,如何向貨幣列添加缺少的小數?

4900 
4900 
4900 
4900 
5100 
5100 
5100 
5100 
5100 
5100 
5100 
5100 
5100 
4500 

我希望能夠讓他們分別49.0051.0045.00

如果可能,我該如何在MySQL中做到這一點?可以假設4500條記錄列中的所有值都可以使用右側的小數點後兩位。

+0

除以100? '選擇貨幣/ 100 fromGlaringTable;' – vulkanino 2012-02-09 16:38:31

回答

1

任何分割的原因由100不會做你需要什麼?請看下圖:

(編輯 - 正如Brian的回答中指出,鑄造可能是最好的)

mysql> select * from testTable; 
+---------+ 
| testNum | 
+---------+ 
| 4900 | 
| 4900 | 
| 4900 | 
| 5100 | 
+---------+ 
4 rows in set (0.00 sec) 

mysql> select ROUND(CAST(testNum AS DECIMAL)/100,2) from testTable; 
+---------------------------------------+ 
| ROUND(CAST(testNum AS DECIMAL)/100,2) | 
+---------------------------------------+ 
|         49.00 | 
|         49.00 | 
|         49.00 | 
|         51.00 | 
+---------------------------------------+ 
4 rows in set (0.00 sec) 
2

應該能夠除以100,但它可能取決於字段的數據類型。如果它沒有被精確設置,那麼你將不得不將這個域作爲一個十進制進行轉換,然後像這樣除以100。

CAST('field' AS DECIMAL(10,2))/100 
0
UPDATE `table` 
SET `column` = ROUND(`column`/100, 2) 
WHERE 1