postgresql – 选择查询自定义计算列以舍入到2个小数位

postgresql – 选择查询自定义计算列以舍入到2个小数位,第1张

概述我有一个表有一些列a,b,我需要添加一个自定义列c_avg,它将具有该值 c_avg = a * 100 / b最多2个十进制值 我的原始表是这样的 id a b1 1 22 2 33 2 0 我已经提出了这个查询,但似乎这会将值返回为整数. select round( CAST((CASE WHEN b=0 THEN '0.00' ELSE round(((a*100 我有一个表有一些列a,b,我需要添加一个自定义列c_avg,它将具有该值
c_avg = a * 100 / b最多2个十进制值

我的原始表是这样的

ID a b1  1 22  2 33  2 0

我已经提出了这个查询,但似乎这会将值返回为整数.

select round( CAST((CASE WHEN b=0 THEN '0.00'        ELSE round(((a*100)/b),2)   END ) as numeric),2) as c_avgfrom table_name

我得到输出为

a b c_avg1 2 02 3 0

我需要这样的东西

a b c_avg1 2 0.502 3 0.662 0 0

我在amazon redshift上的Postgresql版本是Postgresql 8.0.2

我正在用这张桌子做一些事情

select sum(a) as aa,sum(b) as bb,groub_by_columnround( CAST((CASE WHEN sum(b)=0 THEN '0.00'    ELSE round(((sum(a)*100)/sum(b)),2)    END ) as numeric),2) as c_avgfrom table group by groub_by_column

这会将我的值返回0而不是0. *

谢谢

postgresql中的除法运算截断为整数值
刚发现

select round((4000/576::float),3) as result;

将Meta :: float添加到除法运算中会得到所需的结果,它不会将输出截断为整数值.
谢谢

@R_301_6120@ postgresql中的除法运算截断为整数值才发现

select round((4000/576::float),它不会将输出截断为整数值.

谢谢

总结

以上是内存溢出为你收集整理的postgresql – 选择查询自定义计算列以舍入到2个小数位全部内容,希望文章能够帮你解决postgresql – 选择查询自定义计算列以舍入到2个小数位所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1160185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存