TGWS>プログラミング>
SQLiteで端数処理
端数処理(丸め)と言えば四捨五入、切り捨て、切り上げですが、SQLiteには四捨五入(round関数)はあっても切り捨て・切り上げの関数がありません。
ユーザー定義関数で実装するというのもひとつの手ですが、今回はSQLiteの標準関数の組み合わせでどうにかしてみようと思います。
現在は小数を中心に扱っていますが、さまざまな場面を想定したバリエーションを増やしていく予定です。
(あまりより取り見取りでも使うとき困るような気がしますが)
- 小数
- 準備
- 四捨五入
- 通常の四捨五入
- 端数が0.5のとき常に正の無限大へ丸める
- 端数が0.5のとき常に負の無限大へ丸める
- 端数が0.5のとき偶数へ丸める(最近接偶数への丸め)
- 切り捨て
- 0への丸め(絶対値の切り捨て)
- 負の無限大への丸め(床関数)
- 切り上げ
- 無限大への丸め(絶対値の切り上げ)
- 正の無限大への丸め(天井関数)
- 整数
- 準備
- 四捨五入
- 通常の四捨五入
- 端数が0.5のとき常に正の無限大へ丸める
- 端数が0.5のとき常に負の無限大へ丸める
- 端数が0.5のとき偶数へ丸める(最近接偶数への丸め)
- 切り捨て
- 0への丸め(絶対値の切り捨て)
- 負の無限大への丸め(床関数)
- 切り上げ
- 無限大への丸め(絶対値の切り上げ)
- 正の無限大への丸め(天井関数)