1. 程式人生 > >SQL中的取整函數、取小數

SQL中的取整函數、取小數

總結 四舍五入 sele 等於 個數 日期 數字 3.3 abs

取整函數:

1、trunc(value,precision)按精度(precision)截取某個數字,不進行舍入操作。
返回截尾到y位小數的x值:trunc(x,[y]):

select trunc(23.33) 
------------
23

2、round(value,precision)根據給定的精度(precision)輸入數值[四舍五入取整]。
返回舍入到小數點右邊y位的x值:round(x,[y]):

select round(23.33) 
------------
23

3、ceiling(value) 產生大於或等於指定值(value)的最小整數[向上取整]。
返回大於或等於x的最大整數:

select ceiling(23.33) 
-----------
24

4、floor(value)與 ceiling()相反,產生小於或等於指定值(value)的最小整數[向下取整]。
返回等於或小於x的最大整數:

select floor(23.33) 
------------
23

5、sign(value) 與絕對值函數ABS()相反。ABS()給出的是值的量而不是其符號,sign(value)則給出值的符號而不是量。
返回x的符號:

select sign(-23.33) 
------------
-1

總結:

【四舍五入取整】:round()
【向下取整】:FLOOR(),cast(x as int)。取日期的天數部分不能使用cast,需floor(cast(date as float))

【向上取整】:CEILING()
【取小數】 :x-floor(x)

SQL中的取整函數、取小數