小数以下の切り上げ
切り上げについて、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・・・を足して、切り捨てる感じで。