sql server 2008 整數(shù)相除需要除數(shù)或被除數(shù)有一個(gè)數(shù)據(jù)類型為小數(shù),才可以四舍五入。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國(guó)際域名空間、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、望花網(wǎng)站維護(hù)、網(wǎng)站推廣。
首先看一個(gè)例子,如圖:
兩條語(yǔ)句唯一區(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
1,2在SqlServer默認(rèn)當(dāng)做int類型,兩個(gè)int變量相除得到的還是個(gè)int類型
所以只要把其中一個(gè)改成小數(shù)類型的就可以得到你要的結(jié)果了
select (select count(*) as y from t where s='b')
(select count(*) as n from t where s!='b')
在SqlServer默認(rèn)當(dāng)做int類型,兩個(gè)int變量相除得到的還是個(gè)int類型 ,所以只要把其中一個(gè)改成小數(shù)類型的就可以得到你要的結(jié)果了。
除法運(yùn)算
一款簡(jiǎn)單的除法運(yùn)算題目,小朋友們懂的做,很簡(jiǎn)單的除法運(yùn)算,小朋友們來(lái)挑戰(zhàn)一下
運(yùn)算是一種游戲,適用于小孩子對(duì)于數(shù)學(xué)的理解。
1.round() 函數(shù)是四舍五入用,第一個(gè)參數(shù)是我們要被操作的數(shù)據(jù),第二個(gè)參數(shù)是設(shè)置我們四舍五入之后小數(shù)點(diǎn)后顯示幾位。
2.numeric 函數(shù)的2個(gè)參數(shù),第一個(gè)表示數(shù)據(jù)長(zhǎng)度,第二個(gè)參數(shù)表示小數(shù)點(diǎn)后位數(shù)。
例如:
select cast(round(12.5,2) as numeric(5,2)) 結(jié)果:12.50
select cast(round(12.555,2) as numeric(5,2)) 結(jié)果:12.56
select cast(round(122.5255,2) as numeric(5,2)) 結(jié)果:122.53
select cast(round(1222.5255,2) as numeric(5,2)) 結(jié)果:報(bào)錯(cuò)了! 原因是:1222.5255,整數(shù)位是4,小數(shù)位是2,加起來(lái)4+2=6,超出了numeric設(shè)置的5位,所以為了保險(xiǎn),可以增減numeric的參數(shù),例如numeric(20,2)。