SQL和ACCESS中的四舍五入功能

来源:互联网 发布:开票软件提示frm000012 编辑:程序博客网 时间:2024/04/26 00:30


解答 在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-

 

 

ACCESS:

select Fix((字段名 + Sgn(字段名) * 0.5 / 10 ^ 2) * 10 ^ 2) / 10 ^ 2 as 四舍五入 from tablename

原创粉丝点击