电竞比分网-中国电竞赛事及体育赛事平台

分享

SQLServer中round函數(shù)

 酒駕的酒瓶蓋 2019-04-01
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---SQL四舍五入問(wèn)題1:
SELECT CAST('123.456' as decimal) ---123 將會(huì)得到 123(小數(shù)點(diǎn)后面的將會(huì)被省略掉)。
---如果希望得到小數(shù)點(diǎn)后面的兩位。則需要把上面的改為
SELECT CAST('123.456' as decimal(38, 2)) ----123.46---自動(dòng)四舍五入了!
---SQL四舍五入問(wèn)題2:
SELECT ROUND(123.75633, 2, 1) ---123.75000
SELECT ROUND(123.75633, 2) ---123.76000
--因?yàn)榍罢咴谶M(jìn)行四舍五入之前,小數(shù)點(diǎn)后已經(jīng)被截取,保留了2位。
--而后者則沒(méi)有被截取,四舍五入時(shí)自然就會(huì)得到123.76000
  
ROUND --返回?cái)?shù)字表達(dá)式并四舍五入為指定的長(zhǎng)度或精度。
ROUND ( numeric_e-xpression , length [ , function ] )
--參數(shù)numeric_e-xpression
--精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類(lèi)型類(lèi)別的表達(dá)式(bit 數(shù)據(jù)類(lèi)型除外)。
--length是 numeric_e-xpression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。
--當(dāng) length 為正數(shù)時(shí),numeric_e-xpression 四舍五入為 length 所指定的小數(shù)位數(shù)。
--當(dāng) length 為負(fù)數(shù)時(shí),numeric_e-xpression 則按 length 所指定的在小數(shù)點(diǎn)的左邊四舍五入。
--function是要執(zhí)行的操作類(lèi)型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認(rèn)),numeric_e-xpression 將四舍五入。當(dāng)指定 0 以外的值時(shí),將截?cái)?numeric_e-xpression。
--返回類(lèi)型返回與 numeric_e-xpression 相同的類(lèi)型。
--注釋ROUND 始終返回一個(gè)值。如果 length 是負(fù)數(shù)且大于小數(shù)點(diǎn)前的數(shù)字個(gè)數(shù),ROUND 將返回 0。
--示例 結(jié)果
SELECT ROUND(748.58, -4) --0
當(dāng) length 是負(fù)數(shù)時(shí),無(wú)論什么數(shù)據(jù)類(lèi)型,ROUND 都將返回一個(gè)四舍五入的 numeric_e-xpression。
示例 結(jié)果
ROUND(748.58, -1) 750.00
ROUND(748.58, -2) 700.00
ROUND(748.58, -3) 1000.00
示例
A. 使用 ROUND 和估計(jì)值
下例顯示兩個(gè)表達(dá)式,說(shuō)明使用 ROUND 函數(shù)且最后一個(gè)數(shù)字始終是估計(jì)值。
Select ROUND(123.9994, 3), ROUND(123.9995, 3)
Go
下面是結(jié)果集:
----------- -----------
123.9990    124.0000 
B. 使用 ROUND 和四舍五入的近似值
下例顯示四舍五入和近似值。
語(yǔ)句 結(jié)果
Select ROUND(123.4545, 2)
123.4500
Select ROUND(123.45, -2)
100.00
C. 使用 ROUND 截?cái)?/code>
下例使用兩個(gè) Select 語(yǔ)句說(shuō)明四舍五入和截?cái)嘀g的區(qū)別。第一個(gè)語(yǔ)句四舍五入結(jié)果。第二個(gè)語(yǔ)句截?cái)嘟Y(jié)果。
語(yǔ)句 結(jié)果
Select ROUND(150.75, 0)
151.00
Select ROUND(150.75, 0, 1)
150.00

  

---SQL四舍五入問(wèn)題1:
SELECT CAST('123.456' as decimal) ---123 將會(huì)得到 123(小數(shù)點(diǎn)后面的將會(huì)被省略掉)。
---如果希望得到小數(shù)點(diǎn)后面的兩位。則需要把上面的改為
SELECT CAST('123.456' as decimal(38, 2)) ----123.46---自動(dòng)四舍五入了!

---SQL四舍五入問(wèn)題2:
SELECT ROUND(123.75633, 2, 1) ---123.75000
SELECT ROUND(123.75633, 2) ---123.76000
--因?yàn)榍罢咴谶M(jìn)行四舍五入之前,小數(shù)點(diǎn)后已經(jīng)被截取,保留了2位。
--而后者則沒(méi)有被截取,四舍五入時(shí)自然就會(huì)得到123.76000

 


ROUND --返回?cái)?shù)字表達(dá)式并四舍五入為指定的長(zhǎng)度或精度。
ROUND ( numeric_e-xpression , length [ , function ] )
--參數(shù)numeric_e-xpression
--精確數(shù)字或近似數(shù)字?jǐn)?shù)據(jù)類(lèi)型類(lèi)別的表達(dá)式(bit 數(shù)據(jù)類(lèi)型除外)。

--length是 numeric_e-xpression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。
--當(dāng) length 為正數(shù)時(shí),numeric_e-xpression 四舍五入為 length 所指定的小數(shù)位數(shù)。
--當(dāng) length 為負(fù)數(shù)時(shí),numeric_e-xpression 則按 length 所指定的在小數(shù)點(diǎn)的左邊四舍五入。
--function是要執(zhí)行的操作類(lèi)型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認(rèn)),numeric_e-xpression 將四舍五入。當(dāng)指定 0 以外的值時(shí),將截?cái)?numeric_e-xpression。
--返回類(lèi)型返回與 numeric_e-xpression 相同的類(lèi)型。
--注釋ROUND 始終返回一個(gè)值。如果 length 是負(fù)數(shù)且大于小數(shù)點(diǎn)前的數(shù)字個(gè)數(shù),ROUND 將返回 0。
--示例 結(jié)果
SELECT ROUND(748.58, -4) --0

當(dāng) length 是負(fù)數(shù)時(shí),無(wú)論什么數(shù)據(jù)類(lèi)型,ROUND 都將返回一個(gè)四舍五入的 numeric_e-xpression。

示例 結(jié)果
ROUND(748.58, -1) 750.00
ROUND(748.58, -2) 700.00
ROUND(748.58, -3) 1000.00


示例
A. 使用 ROUND 和估計(jì)值
下例顯示兩個(gè)表達(dá)式,說(shuō)明使用 ROUND 函數(shù)且最后一個(gè)數(shù)字始終是估計(jì)值。

Select ROUND(123.9994, 3), ROUND(123.9995, 3)
Go

下面是結(jié)果集:

----------- -----------
123.9990 124.0000

B. 使用 ROUND 和四舍五入的近似值
下例顯示四舍五入和近似值。

語(yǔ)句 結(jié)果
Select ROUND(123.4545, 2)
123.4500

Select ROUND(123.45, -2)
100.00


C. 使用 ROUND 截?cái)?/span>
下例使用兩個(gè) Select 語(yǔ)句說(shuō)明四舍五入和截?cái)嘀g的區(qū)別。第一個(gè)語(yǔ)句四舍五入結(jié)果。第二個(gè)語(yǔ)句截?cái)嘟Y(jié)果。

語(yǔ)句 結(jié)果
Select ROUND(150.75, 0)
151.00

Select ROUND(150.75, 0, 1)
150.00

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多