postgres 除法保留2位
时间: 2023-07-09 16:55:41 浏览: 124
HEX(16进制)转ASCII,除法保留2位小数
在 PostgreSQL 中,可以使用 ROUND 函数将浮点数四舍五入到指定的小数位数。假设你想要将某个列(例如 my_column)中的所有浮点数除以另一个列(例如 my_divisor)并保留两位小数,可以使用以下 SQL 语句:
```
SELECT ROUND(my_column / my_divisor::numeric, 2) FROM my_table;
```
在这里,我们首先将 my_divisor 强制转换为 numeric 类型,以确保除法操作为浮点数除法,而不是整数除法。然后,我们使用 ROUND 函数将除法结果四舍五入到两位小数。最后,我们从 my_table 中选择这个新计算出来的列。
请注意,如果 my_divisor 中有任何零值,这些行将会引发一个除以零错误。你可以使用 COALESCE 函数将零值替换为一个非零值,以避免这种情况。例如:
```
SELECT ROUND(my_column / COALESCE(my_divisor, 1)::numeric, 2) FROM my_table;
```
这里,如果 my_divisor 为零,我们使用 1 作为替代值,以确保除法操作不会引发错误。
阅读全文