如何在PostgreSQL中显示点后2位数字?

qua*_*ack 9 sql postgresql numeric number-formatting

我有一张表,它们的值是NUMERIC(16,4)

例子:

12.4568
13.2
14.05
Run Code Online (Sandbox Code Playgroud)

我想在不四舍五入的情况下仅显示点后 2 位数字的值。预期结果是:

12.45
13.2
14.05
Run Code Online (Sandbox Code Playgroud)

我所做的是:

Select price::Numeric(16,2)
from prices
Run Code Online (Sandbox Code Playgroud)

它有效,但我不确定这是否是正确的方法。我认为使用某种显示编辑而不是投射更好?

Ram*_*ngh 8

您可以通过以下方式执行此操作:

select round(cast(your_float_column as decimal(10,2)), 2, 1)
from your_table
Run Code Online (Sandbox Code Playgroud)

如果你只是想跳过回合那么

select round(12333.347, 2, 1)
Run Code Online (Sandbox Code Playgroud)

希望这对你有用

  • 第三个参数“1”的用途是什么?有了它,我得到了一个错误。 (3认同)