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添加到除法运算中会得到所需的结果,它不会将输出截断为整数值.
谢谢
select round((4000/576::float),它不会将输出截断为整数值.谢谢
总结以上是内存溢出为你收集整理的postgresql – 选择查询自定义计算列以舍入到2个小数位全部内容,希望文章能够帮你解决postgresql – 选择查询自定义计算列以舍入到2个小数位所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)