へなちょこSEの考察

0x22歳のへなちょこSEが、日々思うことを考察します。自社内、金融系を経て現在法人系PKG開発に従事。

SQLでの切上げ(Oracle)

Oracleの関数で、小数第○位切捨てにはtrunc関数が使えます。
trunc(column, 2) とすれば、小数第三位切捨てとなります。
マイナスを指定すれば整数の上位桁による切捨て(十の位、百の位など)も可能です。


が、切り上げに関しては整数値への切上げのceilという関数しかありません。
四捨五入もあるのに、なんで切り上げだけ小数桁に対応していないのでしょうか。


とはいえやりようによってはできます。
ceil(column * 100) / 100 とすれば、小数第二位にて切上げできます。
100の位でやりたければ*と/を逆にすればよいです。


切上げを手で実装するよりははるかに楽だと思います。
できることとやりたいことのギャップを見極めて、その差を埋める何かを考えればいいわけですね。