PostgreSQL数据库中,两个integer类型数据,如何处理为百分比形式

有表 student ,其中id字段为character类型,total和complete字段为integer型

total为总任务量,complete为完成任务量,当前诉求,求出完成率,保留一位小数

操作尝试

一,直接相除   complete/total,可以看到结果为0

这里为0,因为两个字段均为integer型,会按整数相除处理。

二,使用round函数 round(complete/total, 1)

这里结果与操作一类似,只是加了小数点。因为round只是对round(complete/total, 1)中输入的原值做格式化处理,而原值complete/total依然遵循两个integer数据相除的原则。

查看round后的结果列,结果值类型为 numeric,尝试将除数或被除数设置为numeric类型

三、除数小数化 complete::numeric,round(complete::numeric/total, 3)​​​​​​​

这里的操作,将complete做了小数化,这里,可以同时将total做小数化,效果相同

四,百分比形式

如果要将结果展示为百分比形式,比如0.125要展示为12.5%

这里做了一个操作 round(complete*100::numeric/total, 1)||'%'

  • 除数complete 乘以 100

  • round小数保留3位修改为了1

  • round函数外拼接 || '%' 

五、除数为0处理

如果除数total有为0的情况,complete/total 会报错,使用case when 关键字

select complete, total, 
    (case when total=0 then '/' else round(complete*100::numeric/total, 1)||'%' end) as complete_rate
from student;

如此,除数为0的问题也成功解决。

pg数据库百分比处理相关推荐

  1. pg数据库json数据类型_PG数据类型

    Name( 姓名 ) Aliases( 别名 ) bigint int8 bigserial serial8 bit [ ( n )] bit varying [ ( n ) ] varbit [ ( ...

  2. Oracle 数据库sql语句查看字符集,PG数据库查询字符集方法

    [Oracle 数据库查询字符集] 查询出 NLS_NCHAR_CHARACTERSET 参数的值即是数据库的字符集. select * from nls_database_parameters; [ ...

  3. pg数据库json数据类型_PostgreSQL与开发者起舞—让数据库更好服务于开发

    写在前面的话:本文内容有对应50分钟视频讲解,有兴趣可以访问PG与开发者共舞. 很多数据库的对比的活动都是基于数据库本身的一些的底层的功能以及纯数据库方面的对比,等等.更多方面数据库是要为应用来服务的 ...

  4. golang xorm框架对应pg数据库字段类型参照表

    1.左边是golang字段类型,右边是pg数据库字段类型 int integer time.Time timestamp int8 smallint float64 numeric(8,3) (只要是 ...

  5. pg数据库 设置不区分大小写_pg数据库表名、字段名大小写问题

    问题描述: 使用pgAdmin新建了一个表user,添加了id.name.enScore三个字段.在user表中添加了几条记录后,使用select * from user:查询没有问题,会显示user ...

  6. SQL 审核:基于PG数据库插件hook的SQL规范审核工具

    关注"数据和云",精彩不容错过 内容来源:2017 年 10 月 21 日,平安科技数据库架构师陈刚在"PostgreSQL 2017中国技术大会"进行< ...

  7. PG数据库内核分析学习笔记_XLOG日志恢复策略

    PG数据库内核分析学习笔记_XLOG日志恢复策略 在PostgreSQL中,系统在崩溃后重新启动时会调用StartupXlog入口函数. // xlog.c /** This must be call ...

  8. PG数据库查看数据大小参考

    1.查询数据库相关数据存储大小 参考: 统计 PostgreSQL 数据库以及表的存储空间占用 PG数据库中表所占用空间大小查询

  9. pg数据库意外优化一例

    pg数据库,使用pg_top查看时iowait一直在30%左右,写入缓慢,读取一直在每秒十几万到几十万行,始终都没有找到原因,无意间一个操作让写入速度提升了数倍. 1.数据库服务器故障现象 iosta ...

最新文章

  1. Confluence 6 SQL Server 测试你的数据库连接
  2. SpringCloud动态获取yml文件里面的自定义配置
  3. R-FCN+ResNet-50用自己的数据集训练模型(python版本)
  4. Send data format set as XML
  5. python学习day17 递归函数
  6. ubuntu server版本安装指南(1)
  7. 使用Fiddler对iPhone手机进行数据抓包分析
  8. Overfeat图片分类、定位、检测
  9. 十种UI设计常用字体特效,让你的设计高大上!【萧蕊冰】
  10. I350系列服务器网卡驱动,Intel英特尔网卡驱动
  11. 最全讲解--电子电气架构演进
  12. JavaScript文档对象
  13. 只争朝夕,不负韶华,告别2019,开启2020年新的奋斗征程!
  14. 全国计算机等级考试 三级网络技术 知识点总结
  15. #NAME?_#NAME?
  16. 在Ubuntu 18下安装SIMULIA Abaqus 2020
  17. Jetson Nano--YoLoV5测试运行--记录
  18. 图片去水印工具-图片一键去水印的免费app
  19. 01-空投Lynda
  20. k线顶分型 python_K线战法之『顶底分型』高手懂的

热门文章

  1. 强化学习《蘑菇书 EasyRL第一章 概览》
  2. uboot环境变量setenv学习
  3. 时序数据库为万物互联打下坚实的基石
  4. 如何快速学会一项新技能?
  5. 【数学】弧度和角度的转换
  6. 京东管培生 群面记录
  7. 移动浪潮下,看地推吧如何“霸占”行业新风口
  8. mac系统的alt+tab(切换程序)键是什么
  9. C++开发短信验证码通知短信
  10. 多台路由器,不同网段的设备之间如何互访?