我不想要货币符号,但我有类似的值;
4900
4900
4900
4900
5100
5100
5100
5100
5100
5100
5100
5100
5100
4500
我希望能够分别制作49.00
,51.00
和45.00
。
如果可能的话,如何在MySQL中执行此操作?可以假设4500条记录中的所有值都可以使用右侧的小数2位。
答案 0 :(得分:2)
应该能够除以100,但它可能取决于字段的数据类型。如果未设置精度,则必须将该字段转换为小数,然后再除以100。
CAST('field' AS DECIMAL(10,2))/100
答案 1 :(得分: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 :(得分:0)
使用:
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
答案 3 :(得分:0)
UPDATE `table`
SET `column` = ROUND(`column`/100, 2)
WHERE 1