psql除法保留小数,实现向上取整和向下取整操作

 

在psql中,使用1/4得到的结果是0,因为/它取得是整数,但是有些场景我们是需要保留小数的,还有些场景需要向上取整,或者四舍五入的。

今天就总结下psql保留小数的方法

我用到的方法是类型转换,类似于c中int/int为int类型,而float/int则为float。

1select round(1::numeric/4::numeric,2)

将除数被除数转换为numeric类型,保留两位小数,此时可以得到 0.25

最近的使用中我是用的是cast转换,如下:

1MAX(ceil(round( cast ( infos.qty31days as numeric )/ cast( 31 as numeric),2))) AS qty1days

ceil即向上取整,1.4和1.6均为2

当然还有floor()函数 即四舍五入, 1.4为1 ,则 1.6为2

暂时用到这些,之后学习到新的会继续更新。

补充:postgresql保留小数位数的方法

还是需要通过cast函数 cast A as B

它可以用于类型转换,也可以用来确定小数位数

-- # dom 平均
SELECT cast(AVG(CAST(dom AS FLOAT)) AS decimal(10,2))
-- as decimal(15,2)
FROM estate_expect_deal_price_params_data_test
where "provinceCode"='ON'
AND "createdDate" =date(now())

文章来源:脚本之家

来源地址:

免责申明:
1. 本站所有下载资源均不包含技术支持和安装服务!需要讨论请进群!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有KR奖励和额外收入!
4. 如有链接无法下载、失效或广告,请联系管理员处理!
5. 本站无法保证资源或破解时效性,如某些授权码过期等问题,恕不在修复范围内。
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!故不接受任何形式的退款,如确认资源确有问题的,会补给相应KR以供再次购买。
7. 53Kr源码暂未发现后门代码,但无法保证100%安全,推荐检测方法:上传到 https://www.virustotal.com/在线查看是否有恶意代码以及其他有后门嫌疑的代码。
8. 在本站下载的源码我还是不建议正式使用,有特别喜欢的可以去程序官方购买。
53kr资源站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。
53kr资源分享 » psql除法保留小数,实现向上取整和向下取整操作

发表回复