我不想要一個貨幣符號,但我有像;在MySql中,如何向貨幣列添加缺少的小數?
4900
4900
4900
4900
5100
5100
5100
5100
5100
5100
5100
5100
5100
4500
我希望能夠讓他們分別49.00
,51.00
和45.00
。
如果可能,我該如何在MySQL中做到這一點?可以假設4500條記錄列中的所有值都可以使用右側的小數點後兩位。
我不想要一個貨幣符號,但我有像;在MySql中,如何向貨幣列添加缺少的小數?
4900
4900
4900
4900
5100
5100
5100
5100
5100
5100
5100
5100
5100
4500
我希望能夠讓他們分別49.00
,51.00
和45.00
。
如果可能,我該如何在MySQL中做到這一點?可以假設4500條記錄列中的所有值都可以使用右側的小數點後兩位。
任何分割的原因由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)
用途:
mysql> SELECT FORMAT(12332.123456, 4);
-> '12,332.1235'
mysql> SELECT FORMAT(12332.1,4);
-> '12,332.1000'
mysql> SELECT FORMAT(12332.2,0);
-> '12,332'
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_format
應該能夠除以100,但它可能取決於字段的數據類型。如果它沒有被精確設置,那麼你將不得不將這個域作爲一個十進制進行轉換,然後像這樣除以100。
CAST('field' AS DECIMAL(10,2))/100
UPDATE `table`
SET `column` = ROUND(`column`/100, 2)
WHERE 1
除以100? '選擇貨幣/ 100 fromGlaringTable;' – vulkanino 2012-02-09 16:38:31