我有一个用于存储浮动数据的列,即
1.1
11.60
4.23
不幸的是,11.60
被存储为11.6
。我需要它有额外的零。我是否必须将我的数据类型更改为varchar?处理这个问题的最佳方法是什么?
答案 0 :(得分:3)
从评论中可以看出,您存储的是产品代码,因此对于数据类型,float不是一个好的选择,正如您所建议的那样。事实上,这不是一个渲染问题,但是我们从你最初的浮动选择中误解了它(认为你确实存储了类似金钱或真十进制的东西)。
按照您的怀疑使用varchar,因为它确实是一个字符串值。
以下是你如何做到这一点:
ALTER TABLE MyTable ADD MyNewColumn VARCHAR(100);
UPDATE MyTable
SET MyNewColumn = FORMAT(MyFloatColumn, 2);
答案 1 :(得分:1)
这是呈现问题,而不是数据问题。要“解决”它,请在选择时将mysql的FORMAT函数应用于您的值:
select FORMAT(my_float_column, 2)
from my_table;
2
是小数位数。它将处理(几乎)小数点左边的任意位数。