sql进位
① sql 四舍五入问题
Round函数(四舍六入五成双)(转)2007-06-09 15:20Round(所在单元:Math)
功能说明:对一个实数进行四舍五入。(按照银行家算法)
参考实例:
var
I, j: Integer;
begin
i := Round(1.5); // i等于2
j := Round(2.5); // j等于2
//注意Round(2.53)=3
end;
在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:
采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
示例 结果
i:= Round(11.5) 12
i:= Round(10.5) 10
这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面算法:
//提供者FlashDance(10040231) 15:15:58
var
D1,D2:Double;
begin
D1:=3.14159;
D2:=StrToFloat(Format('%.5f',[D1]));
end;
② SQL语句进位,比如一张表A,中有列时间DATE30 50 90 …………现在要把这列时间换算分钟1 1 2要咋样写
Oracle数据库中有一个卜梁函数应该可以直接使配弊洞用,培枯
select ceil(date/60) from A;
③ SQL判断是否有小数确定进位
将这个数梁陵加上0.4然后再用round函数缺渣脊伏渗进行四舍五入
比如2.0+0.4=2.4,四舍五入还是2.0
2.1+0.4=2.5 四舍五入3.0
2.9+0.4=3.3 四舍五入3.0
④ SQL中ROUND函数,怎么让进位的时候5都进位,而不是看前一位是否是奇数或者偶数
你用的SQL版本多少?我用SQL2008得到的是0.74和0.75
如果还不行的话,有个技正核巧性的做法就是:液清者
保留1位的话就加0.01,保留2位就加0.001;
例如:
0.735 +0.001=0.736 四舍五入0.74
0.731+0.001=0.732 四闹薯舍五入0.73
⑤ sql05除法进位取整问题
目测链袭毁, 我估计你这个 sql 。
是查询。 表里面有多少页 (每页20行), 以及多少行禅桥 的 sql 语句。
下面是一个例子代码, 我就不 count(1) 了。 你用 count(1) 替换掉那个 16363
1>
2> select
3> 16363/20 AS [你原有的],
4> CEILING(16363/20.0) AS [修改以后的]
5> go
你原有的 修改以后的
----------- --------------
818棚备 819
(1 行受影响)
⑥ SQL碰到有小数位时就进位的函数怎么写
Ceiling()函数;
对应的截断(去小数)函数是Floor()。