我有一个表中的插入(例如。字段a1),其是SELECT字段01 Value/1000000中的计算值。如何在操作后格式化字段以显示20位或更多小数。我尝试CAST(field 01 Value as double precision)/1000000,但值显示为2 E-5。谢谢!
4ngedf3f1#
你试过ROUND功能吗?
SELECT ROUND(field01Value::numeric / 1000000, 20) AS calculated_value FROM table;
似乎重复:-How to round an average to 2 decimal places in PostgreSQL?
sdnqo3pr2#
我建议转换为numeric(precision, scale)。在您的情况下,小数位数为20,精度为您允许的最大位数。
numeric(precision, scale)
select field01Value/1000000::numeric(30,20) from mytable
示例:https://dbfiddle.uk/DLfdUN_Y
yc0p9oo03#
在PostgreSQL中,你可以使用ROUND()函数和::numeric转换来显示计算结果,并带有给定的小数位数,而不使用科学计数法。下面是一个例子:
ROUND()
::numeric
SELECT (field01Value::numeric / 1000000)::numeric(30, 20) AS calculated_value FROM your_table;
3条答案
按热度按时间4ngedf3f1#
你试过ROUND功能吗?
似乎重复:-How to round an average to 2 decimal places in PostgreSQL?
sdnqo3pr2#
我建议转换为
numeric(precision, scale)
。在您的情况下,小数位数为20,精度为您允许的最大位数。示例:https://dbfiddle.uk/DLfdUN_Y
yc0p9oo03#
在PostgreSQL中,你可以使用
ROUND()
函数和::numeric
转换来显示计算结果,并带有给定的小数位数,而不使用科学计数法。下面是一个例子: