小数以下の切り上げ

切り上げについて、SAK 図書館さん(http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/sq_kj07_1.htm)に詳しく書いてありますが、SQL Server 2000にはtrunc関数がないのでround関数を使いました。


round関数は「四捨五入」か「切り捨て」しかできないので、やっぱり工夫は必要になるようです。

select
	round(10.05, 0, 1) as [小数以下切り捨て],
	round(10.05 + 0.9, 0, 1) as [小数第1位で切り上げ],
	round(10.05 + 0.99, 0, 1) as [小数第2位で切り上げ]
union all
select
	round(10.15, 0, 1) as [小数以下切り捨て],
	round(10.15 + 0.9, 0, 1) as [小数第1位で切り上げ],
	round(10.15 + 0.99, 0, 1) as [小数第2位で切り上げ]


上記SQLを実行すると、

小数以下切り捨て 小数第1位で切り上げ 小数第2位で切り上げ
10.00 10.00 11.00
10.00 11.00 11.00

になります。


切り上げたいところまで0.99・・・を足して、切り捨てる感じで。