主页 > 知识库 > postgresql 除法保留小数位的实例

postgresql 除法保留小数位的实例

热门标签:地图标注要花多少钱 济南外呼网络电话线路 江苏400电话办理官方 移动外呼系统模拟题 天津开发区地图标注app 电销机器人能补救房产中介吗 电话机器人怎么换人工座席 广州电销机器人公司招聘 400电话申请客服

我就废话不多说了,大家还是直接看代码吧~

\x
select 8/(100-3) as c1,
 round(8/(100-3) ,4) as c2,
 round(8/(100-3)::numeric ,4) as c3,
 8/(100-3)::numeric as c4
;
-[ RECORD 1 ]--------------
c1 | 0
c2 | 0.0000
c3 | 0.0825
c4 | 0.08247422680412371134
(1 row) 

补充:PostgreSQL整数除法注意事项

整型除以整型,正常情况下当然得到的应该也是整型。一般数据库中也是这么干的。

在pg中也是这样,例如1/2得到的结果便会是0,但是在实际应用中,我们往往需要得到的是0.5,而不是直接将小数部分省略掉。那么在pg中该怎么实现呢?

我们可以使用float8, money, numeric来存储这种数值,或者在除法时,对操作数进行转换。

例子:

需要注意的是,在oracle中整数除法和pg中不同。

–oracle中例子:

我们可以看到在oracle中我们得到的是0.5

SQL> select 1/2 from dual;
 1/2
----------
 .5

–pg中例子:

pg中整数除法得到的是0

bill=# select 1/2;
 ?column? 
----------
 0
(1 row)

显式转换的方法:

bill=# select 1/2::float8; 
 ?column? 
----------
 0.5
(1 row)
bill=# select 1/2::numeric; 
 ?column? 
------------------------
 0.50000000000000000000
(1 row)
bill=# select 1::money/2; 
 ?column? 
----------
 $0.50
(1 row)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

您可能感兴趣的文章:
  • PostGresql 实现四舍五入、小数转换、百分比的用法说明
  • postgresql 中round函数的用法说明
  • psql除法保留小数,实现向上取整和向下取整操作

标签:杭州 昭通 海西 榆林 宝鸡 辛集 濮阳 温州

巨人网络通讯声明:本文标题《postgresql 除法保留小数位的实例》,本文关键词  postgresql,除法,保留,小,数位,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《postgresql 除法保留小数位的实例》相关的同类信息!
  • 本页收集关于postgresql 除法保留小数位的实例的相关信息资讯供网民参考!
  • 推荐文章