PostGresql 实现四舍五入、小数转换、百分比的用法说明

 更新时间:2021年01月30日 12:04:14   作者:仙道Bob  
这篇文章主要介绍了PostGresql 实现四舍五入、小数转换、百分比的用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

需求:两个整数相除,保留两位小数并四舍五入,完了转成百分比形式,即4/5=0.80=80%

1.两个整数相除:

idn_dw=> select 4/5;
 ?column?
----------
  0
(1 row)

在sql运算中,"/"意思是相除取整,这样小数部分就会被舍去。

2.用cast将被除数转成小数

idn_dw=> select cast(4 as numeric)/5;
  ?column?
------------------------
 0.80000000000000000000
(1 row)

也可以简化:pg中"::"是转换的意思

idn_dw=> select 4::numeric/5;
  ?column?
------------------------
 0.80000000000000000000
(1 row)

3.四舍五入,保留两位小数

idn_dw=> select round(cast(4 as numeric)/5,2);
 round
-------
 0.80
(1 row)

4.放大100,转成百分比形式

idn_dw=> select concat(round(4::numeric/5,2)*100,'%');
 concat
--------
 80.00%
(1 row)

但是,小数部分不需要,调整一下顺序

idn_dw=> select concat(round(4::numeric/5*100),'%');
 concat
--------
 80%
(1 row)

完事。

补充:使用postgresql的round()四舍五入函数报错

需求:

使用postgresql的round()四舍五入保留两位小数

报错:

HINT: No function matches the given name and argument types. You might

解决方案:

使用cast函数将需要四舍五入的值转为 numeric,转为其他的类型可能会报错

示例:

round(cast(计算结果) as numeric), 2)

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

相关文章

  • PostgreSQL的upsert实例操作(insert on conflict do)

    PostgreSQL的upsert实例操作(insert on conflict do)

    这篇文章主要介绍了PostgreSQL的upsert实例操作(insert on conflict do),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Docker环境实现PostgreSQL自动备份的流程步骤

    Docker环境实现PostgreSQL自动备份的流程步骤

    本文详细介绍了如何在Ubuntu系统中安装Docker,然后在Docker容器内安装和配置PostgreSQL数据库,接着,重点讲解了如何在PostgreSQL中安装和配置pg_rman工具,用于数据库的备份和恢复操作,文章还涵盖了创建定时备份任务以及删除备份的步骤,需要的朋友可以参考下
    2024-11-11
  • postgresql如何兼容MySQL if函数

    postgresql如何兼容MySQL if函数

    这篇文章主要介绍了postgresql如何兼容MySQL if函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • PostgreSQL ERROR: invalid escape string 解决办法

    PostgreSQL ERROR: invalid escape string 解决办法

    这篇文章主要介绍了PostgreSQL ERROR: invalid escape string 解决办法,本文环境是JDBC+PostgreSQL,需要的朋友可以参考下
    2014-07-07
  • PostgreSQL 数据库跨版本升级常用方案解析

    PostgreSQL 数据库跨版本升级常用方案解析

    这篇文章主要介绍了PostgreSQL 数据库跨版本升级常用方案解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • PostgreSQL建立自增主键的2种方法总结

    PostgreSQL建立自增主键的2种方法总结

    这篇文章主要给大家介绍了关于PostgreSQL建立自增主键的2种方法,PostgreSQL主键自增是一种自动增长的机制,可以为表中的每一行记录分配唯一的标识符,需要的朋友可以参考下
    2023-09-09
  • Postgresql开启远程访问的步骤全纪录

    Postgresql开启远程访问的步骤全纪录

    postgre一般默认为本地连接,不支持远程访问,所以如果要开启远程访问,需要更改安装文件的配置。下面这篇文章主要给大家介绍了关于Postgresql开启远程访问的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2018-03-03
  • 解决postgresql 序列跳值的问题

    解决postgresql 序列跳值的问题

    这篇文章主要介绍了解决postgresql 序列跳值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • pgsql 解决包含有单引号的字符串操作

    pgsql 解决包含有单引号的字符串操作

    这篇文章主要介绍了pgsql 解决包含有单引号的字符串操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • PostgreSQL查看带有绑定变量SQL的通用方法详解

    PostgreSQL查看带有绑定变量SQL的通用方法详解

    今天我们要探讨的是 custom执行计划和通用执行计划。这一技术在 Oracle中被称为绑定变量窥视。但 Postgresql中并没有这样的定义,更严格地说,Postgresql叫做custom执行计划和通用执行计划
    2022-09-09

最新评论