我需要根据我从另一个表获取的值的条件来设置表中字段的值。该字段的数据类型为float。要求是我需要在小数点前有2位数,后面有4位数。因此,如果值为9.45,我需要将其设置为09.4500。我想知道什么是最好的方法来做到这一点。我应该将值转换为varchar然后再做substring吗?或者这可以设定精度吗?
谢谢!
答案 0 :(得分:0)
首先,不要将这样的值存储为浮点数。您已经非常仔细地描述了decimal(6, 4)
/ numeric(6, 4)
数据类型。
如果您将其设为float
或decimal
,则可以使用str()
然后填充到右侧:
select right('000000' + str(9.45, 6, 4), 7)