SQL裡有取整函式,四捨五入函式,和擷取函式

2021-08-29 11:02:44 字數 1373 閱讀 6265

round(123.456,2)

------------

123.47

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。

round(123.456, 0)

-------

123.000

select floor(123.45), floor(-123.45), floor($123.45)

--------- --------- -----------

123 -124 123.0000

select ceiling(123.45), ceiling(-123.45), ceiling(0.0)

以下為結果集:

--------- --------- -------------------------

124 -123 0

///oracle的trunc包羅永珍,db2的trunc只是給數字用的。但象date等都能實現。比如,date(a timestamp field)會把timestamp後面的都拿掉,成了乙個pure date,就象oracle的trunc(sysdate)會把後面的時間拿掉一樣。

sql> select trunc(2345.6789,2) from dual;

trunc(2345.6789,2)

------------------

2345.67

/home/db2inst > db2 -v "select decimal(2345.6789,10,2) from sysibm.sysdummy1"

select decimal(2345.6789,10,2) from sysibm.sysdummy1

1------------

2345.67

1 record(s) selected.

SQL四捨五入 向下取整 向上取整函式介紹

round 遵循四www.cppcns.com舍程式設計客棧五入把原值轉化為指定小數字數,如 round 1.45,0 1 round 1.55,0 2 floor 向下取整 如 flwww.cppcns.comoor 1.45 1,floor 1.55 1 floor 1.45 2 flwww.c...

c 四捨五入函式,向上取整,向下取整函式

對含有小數點的數進行四捨五入是比較普遍的一種需求。在c 中也有類似的取整函式。在c 的標頭檔案中有floor 和ceil 函式。在stl中還有round 函式。這三個函式的作用如下 函式名稱 函式說明 2.1 2.9 2.1 2.9 floor 不大於自變數的最大整數 2 2 3 3 ceil 不小...

sql 的四捨五入取整問題

經在sql server 2005測試,可以通過 select cast 123.456 as decimal 將會得到 123 小數點後面的將會被省略掉 如果希望得到小數點後面的兩位。則需要把上面的改為 select cast 123.456 as decimal 38,2 123.46 自動四捨...