參數(shù)
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供肇東網(wǎng)站建設(shè)、肇東做網(wǎng)站、肇東網(wǎng)站設(shè)計(jì)、肇東網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、肇東企業(yè)網(wǎng)站模板建站服務(wù),10多年肇東做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
numeric_expression
精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類型類別的表達(dá)式(bit 數(shù)據(jù)類型除外)。
length
是 numeric_expression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。當(dāng) length 為正數(shù)時(shí),numeric_expression 四舍五入為 length 所指定的小數(shù)位數(shù)。當(dāng) length 為負(fù)數(shù)時(shí),numeric_expression 則按 length 所指定的在小數(shù)點(diǎn)的左邊四舍五入。
function
是要執(zhí)行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認(rèn)),numeric_expression 將四舍五入。當(dāng)指定 0 以外的值時(shí),將截?cái)? numeric_expression。
例:
Select ROUND(150.75, 0)
151.00
Select ROUND(150.75, 0, 1)
150.00
FLOOR
返回小于或等于所給數(shù)字表達(dá)式的最大整數(shù)。
FLOOR(1.1)=1
FLOOR(2)=2
CEILING
返回大于或等于所給數(shù)字表達(dá)式的最小整數(shù)。
CEILING(1.1)=2
CEILING(2)=2
如果要四舍五入:
cast(round(1.6,0) as int) =2
cast(round(1.4,0) as int)=1
cast(round(2,0) as int)=2
round返回?cái)?shù)字表達(dá)式并四舍五入為指定的長(zhǎng)度或精度。
顯示的界面上要求只保留到小數(shù)點(diǎn)后4位,發(fā)現(xiàn)round(表達(dá)式,4,1)可以截?cái)嘈?shù)點(diǎn)4位后的數(shù)字
如果寫(round,4)表示對(duì)小數(shù)點(diǎn)后4位四舍五入,但不截?cái)喽嗟?
sql server 2008 整數(shù)相除需要除數(shù)或被除數(shù)有一個(gè)數(shù)據(jù)類型為小數(shù),才可以四舍五入。
首先看一個(gè)例子,如圖:
兩條語句唯一區(qū)別就是 10 與 10.00
1、select cast(round(10/6,0) as int) ? ? ? 結(jié)果:1
2、select cast(round(10.00/6,0) as int) ?結(jié)果:2
但結(jié)果確不一樣。
原因是SQLserver有默認(rèn)的數(shù)據(jù)類型轉(zhuǎn)換。
10/6 默認(rèn)轉(zhuǎn)換為整型 即:10/6 = 1。那么 round(1) = 1
10.00/6 默認(rèn)轉(zhuǎn)換為小數(shù)即:10.00/6 = 1.666666 ,那么 round(1.666666,0) = 2