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