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()。