備忘録‎ > ‎

[mysql]端数処理(四捨五入、切り捨て、切り上げ)

2013/06/11 0:28 に ly copins が投稿   [ 2021/04/26 2:12 に更新しました ]

Url Redirector Modified

四捨五入として round()関数があるが、挙動が好ましくないようなので truncate()関数を利用する。
truncate関数は端数を切り捨てる関数だが、切り捨て前に切り上げ分を加算することで四捨五入や切り上げを実現する。

四捨五入

3.45を小数第2位で四捨五入して、小数第1位までの値を得る。
select truncate(3.45 + 0.05, 1)

切り捨て

3.45を小数第1位までの値を得る。
select truncate(3.45, 1)

切り上げ

3.45を小数第1位位までの値を得る。
select truncate(3.45 + 0.09, 1)
0.09は3.401以上の値を切り捨て対象にすることになる。
3.4001以上の値も対象にしたいときは0.099を加算する。
Comments