SQL中的四舍五入功能
解答 在OS/400 R440版本之前,SQL不提供四舍五入函数; 从OS/400 R450版本开始,SQL提供四舍五入函数 -- ROUND。
在OS/400 R440版本之前,可以通过函数CASE 和CAST 组合编写四舍五入功能:
例如:字段FLD1定义为numeric(5,3)类型,想要四舍五入到小数点后一位,则select子句可以定义成:
select FLD1, case
when FLD1 < 0 then cast ((FLD1 - 0.05) as decimal(5,1))
when FLD1 = 0 then 0
when FLD1 > 0 then cast ((FLD1 + 0.05) as decimal(5,1))
end
from Lib/File
结果显示为:
FLD1 CASE expression
12.534 12.5
5.230 5.2
6.990 7.0
23.500 23.5
76.001 76.0
90.000 90.0
15.520- 15.5-
.000 .0
76.130- 76.1-
5.500- 5.5-
在OS/400 R450版本,四舍五入函数的使用方法如下:
例如:字段F1定义为numeric(5,3)类型,想要四舍五入到小数点后一位,则select子句可以定义成:
SELECT f1, round(f1,1) FROM Lib/File
结果显示为:
F1 ROUND ( F1 , 1 )
23.011 23.000
33.589 33.600
.000 .000
.378- .400-
5.978- 6.000-