提问人:Cignitor 提问时间:6/14/2023 最后编辑:Cignitor 更新时间:6/14/2023 访问量:29
Postgre 地板更改值 postgresql
Postgre floor changes values postgresql
问:
我有以下疑问
with debug as (
select kode_toko_dbo
, kode_toko_final
, nama_toko_final
, concat (point_category,' - ',point) poin_kategori
, point
, sum(total_do_qty) total_do_qty
, sum(case when upper(replace(item_name,' ','')) ~ upper('^.*Classic.*(6|8)') then floor(total_do_qty::numeric /10)
when upper(kategori_name_l1) = 'RB FASCIA' then (floor(total_do_qty::numeric /10))
when upper(replace(item_name,' ','')) ~ upper('^.*Classic.*(3|4)\.5') then floor(total_do_qty::numeric /10)
else 0 end) reward_toko
from outputnya
group by 1,2,3,4,5
--order by reward_toko desc
)
select kode_toko_dbo
, kode_toko_final
, nama_toko_final
, poin_kategori
, point
, total_do_qty
, reward_toko
from debug
where kode_toko_final in ('2012000044','2012000044')
order by reward_toko desc
当我们偏离 时,它会返回正确的结果。8417
10
841
当我们除以 时,它返回这是错误的。它返回.2950
10
293
295
如何解决此问题?
当我尝试以下查询时:
select 2950
, floor(2950::numeric / 10)
, floor(2950::numeric / 10) * 4
limit 5
它给了我正确的结果。
如何解决此问题?
答: 暂无答案
下一个:浮点数学坏了吗?
评论
CASE
ELSE