postgresql 除法保留小数位的实例

 更新时间:2021年01月26日 09:57:38   作者:数据库人生  
这篇文章主要介绍了postgresql 除法保留小数位的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

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

\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使用pgAdmin备份服务器数据的方法

    postgreSQL使用pgAdmin备份服务器数据的方法

    这篇文章主要介绍了postgreSQL使用pgAdmin备份服务器数据的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • PostgreSQL拆分字符串的三种方式

    PostgreSQL拆分字符串的三种方式

    这篇文章给大家介绍了PostgreSQL拆分字符串的三种方式,字符串转为数组,字符串转为列表和字符串转为数据项,并通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • 使用PostgreSQL为表或视图创建备注的操作

    使用PostgreSQL为表或视图创建备注的操作

    这篇文章主要介绍了使用PostgreSQL为表或视图创建备注的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL中关闭死锁进程的方法

    PostgreSQL中关闭死锁进程的方法

    这篇文章主要介绍了PostgreSQL中关闭死锁进程的方法,本文给出两种解决这问题的方法,需要的朋友可以参考下
    2015-02-02
  • PostgreSQL中Slony-I同步复制部署教程

    PostgreSQL中Slony-I同步复制部署教程

    这篇文章主要给大家介绍了关于PostgreSQL中Slony-I同步复制部署的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PostgreSQL具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • postgresql中时间转换和加减操作

    postgresql中时间转换和加减操作

    这篇文章主要介绍了postgresql中时间转换和加减操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • postgreSQL数据库默认用户postgres常用命令分享

    postgreSQL数据库默认用户postgres常用命令分享

    这篇文章主要介绍了postgreSQL数据库默认用户postgres常用命令分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Navicat设置PostgreSQL数据库的表主键ID自增的方法

    Navicat设置PostgreSQL数据库的表主键ID自增的方法

    这篇文章主要介绍了Navicat设置PostgreSQL数据库的表主键ID自增的方法,文章通过图文结合的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-06-06
  • PostgreSQL查看正在执行的任务并强制结束的操作方法

    PostgreSQL查看正在执行的任务并强制结束的操作方法

    这篇文章主要介绍了PostgreSQL查看正在执行的任务并强制结束的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PostgreSQL中的template0和template1库使用实战

    PostgreSQL中的template0和template1库使用实战

    这篇文章主要介绍了PostgreSQL中的template0和template1库使用实战,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论