sql取整的函數

SQL取整操作2009年04月02日 星期四 10:01以前有記錄過這個方法的使用說明,不過今天再用的時候還是忘記了,其實平時用的取整操作有幾種情況,一種是單純的取整,不管小數點後面是什麼全部捨去比如12.21或者12.68都是12,這樣就用floor(12.21),裏面的參數可以是表達式、可以是數字、可以是變量;另外就是有不同限制的取整操作,如需要四捨五入並且小數點後面保留多少有效位的話就是round函數了,完全的寫法是:
ROUND ( numeric_expression , length [ , function ] ) 
參數 
numeric_expression 
精確數字或近似數字數據類型類別的表達式(bit 數據類型除外)。 
length 
是 numeric_expression 將要四捨五入的精度。length 必須是 tinyint、smallint 或int。當 length 爲正數時,numeric_expression 四捨五入爲 length 所指定的小數位數。當 length 爲負數時,numeric_expression 則按 length 所指定的在小數點的左邊四捨五入。 
function 
是要執行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值爲 0(默認),numeric_expression 將四捨五入。當指定 0 以外的值時,將截斷 numeric_expression。   
例:
SELECT ROUND(150.75, 0)
151.00
SELECT ROUND(150.75, 0, 1)
150.00

默認不加參數的話和第一個例子一樣,默認四捨五入。


SQL中的取整函數FLOOR、ROUND、CEIL、TRUNC、SIGN(2009-12-29 17:13:12) 
標籤:整函數fromabs小數點絕對值教育 分類:SQL 
1 trunc(value,precision)按精度(precision)截取某個數字,不進行舍入操作。
2 round(value,precision)根據給定的精度(precision)輸入數值。
3 ceil (value) 產生大於或等於指定值(value)的最小整數。
4 floor(value)與 ceil()相反,產生小於或等於指定值(value)的最小整數。
5 sign(value) 與絕對值函數ABS()相反。ABS()給出的是值的量而不是其符號,sign(value)則給出值的符號而不是量。


1,返回大於或等於x的最大整數:
SQL> select ceil(23.33) from dual;


CEIL(23.33)
-----------
24


2,返回等於或小於x的最大整數:
SQL> select floor(23.33) from dual;


FLOOR(23.33)
------------
23


3,返回舍入到小數點右邊y位的x值:rcund(x,[y])
SQL> select round(23.33) from dual;


ROUND(23.33)
------------
23


4,返回截尾到y位小數的x值:trunc(x,[y])
SQL> select trunc(23.33) from dual;


TRUNC(23.33)
------------
23


5,返回x的符號
SQL> select sign(-23.33) from dual;


SIGN(-23.33)
------------
-1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章