psql除算は小数を保持し、上向きと下向きに整頓する
544 ワード
psqlでは、1/4を使用して得られた結果は0です.整数を取得するためですが、小数を保持する必要があるシーンもあれば、上に整列する必要があるシーンもあれば、四捨五入する必要があります.そこで今日はpsqlが小数を残す方法をまとめます.
私が使っている方法は、cのint/intがintタイプであるのに対し、float/intがfloatであるように、タイプ変換です.
select round(1::numeric/4::numeric,2)
除数をnumericタイプに変換し、小数を2桁保持すると0.25が得られます.
最近の使用ではcast変換を使用しています.以下のようにします.
もちろんfloor()関数、すなわち四捨五入、1.4が1、1.6が2もあります.
これらをしばらく使ってから、新しいことを勉強して更新を続けます.
私が使っている方法は、cのint/intがintタイプであるのに対し、float/intがfloatであるように、タイプ変換です.
select round(1::numeric/4::numeric,2)
除数をnumericタイプに変換し、小数を2桁保持すると0.25が得られます.
最近の使用ではcast変換を使用しています.以下のようにします.
MAX(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もあります.
これらをしばらく使ってから、新しいことを勉強して更新を続けます.