日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQLServer中round函数

發布時間:2023/12/20 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQLServer中round函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
---SQL四舍五入問題1: SELECT CAST('123.456' as decimal) ---123 將會得到 123(小數點后面的將會被省略掉)。 ---如果希望得到小數點后面的兩位。則需要把上面的改為 SELECT CAST('123.456' as decimal(38, 2)) ----123.46---自動四舍五入了!---SQL四舍五入問題2: SELECT ROUND(123.75633, 2, 1) ---123.75000 SELECT ROUND(123.75633, 2) ---123.76000 --因為前者在進行四舍五入之前,小數點后已經被截取,保留了2位。 --而后者則沒有被截取,四舍五入時自然就會得到123.76000ROUND --返回數字表達式并四舍五入為指定的長度或精度。 ROUND ( numeric_e-xpression , length [ , function ] ) --參數numeric_e-xpression --精確數字或近似數字數據類型類別的表達式(bit 數據類型除外)。--length是 numeric_e-xpression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。 --當 length 為正數時,numeric_e-xpression 四舍五入為 length 所指定的小數位數。 --當 length 為負數時,numeric_e-xpression 則按 length 所指定的在小數點的左邊四舍五入。 --function是要執行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認),numeric_e-xpression 將四舍五入。當指定 0 以外的值時,將截斷 numeric_e-xpression。 --返回類型返回與 numeric_e-xpression 相同的類型。 --注釋ROUND 始終返回一個值。如果 length 是負數且大于小數點前的數字個數,ROUND 將返回 0。 --示例 結果 SELECT ROUND(748.58, -4) --0當 length 是負數時,無論什么數據類型,ROUND 都將返回一個四舍五入的 numeric_e-xpression。示例 結果 ROUND(748.58, -1) 750.00 ROUND(748.58, -2) 700.00 ROUND(748.58, -3) 1000.00示例 A. 使用 ROUND 和估計值 下例顯示兩個表達式,說明使用 ROUND 函數且最后一個數字始終是估計值。Select ROUND(123.9994, 3), ROUND(123.9995, 3) Go下面是結果集:----------- ----------- 123.9990 124.0000 B. 使用 ROUND 和四舍五入的近似值 下例顯示四舍五入和近似值。語句 結果 Select ROUND(123.4545, 2) 123.4500Select ROUND(123.45, -2) 100.00C. 使用 ROUND 截斷 下例使用兩個 Select 語句說明四舍五入和截斷之間的區別。第一個語句四舍五入結果。第二個語句截斷結果。語句 結果 Select ROUND(150.75, 0) 151.00Select ROUND(150.75, 0, 1) 150.00

  

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

---SQL四舍五入問題2:
SELECT ROUND(123.75633, 2, 1) ---123.75000
SELECT ROUND(123.75633, 2) ---123.76000
--因為前者在進行四舍五入之前,小數點后已經被截取,保留了2位。
--而后者則沒有被截取,四舍五入時自然就會得到123.76000

?


ROUND --返回數字表達式并四舍五入為指定的長度或精度。
ROUND ( numeric_e-xpression , length [ , function ] )
--參數numeric_e-xpression
--精確數字或近似數字數據類型類別的表達式(bit 數據類型除外)。

--length是 numeric_e-xpression 將要四舍五入的精度。length 必須是 tinyint、smallint 或int。
--當 length 為正數時,numeric_e-xpression 四舍五入為 length 所指定的小數位數。
--當 length 為負數時,numeric_e-xpression 則按 length 所指定的在小數點的左邊四舍五入。
--function是要執行的操作類型。function 必須是 tinyint、smallint 或 int。如果省略 function 或 function 的值為 0(默認),numeric_e-xpression 將四舍五入。當指定 0 以外的值時,將截斷 numeric_e-xpression。
--返回類型返回與 numeric_e-xpression 相同的類型。
--注釋ROUND 始終返回一個值。如果 length 是負數且大于小數點前的數字個數,ROUND 將返回 0。
--示例 結果
SELECT ROUND(748.58, -4) --0

當 length 是負數時,無論什么數據類型,ROUND 都將返回一個四舍五入的 numeric_e-xpression。

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


示例
A. 使用 ROUND 和估計值
下例顯示兩個表達式,說明使用 ROUND 函數且最后一個數字始終是估計值。

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

下面是結果集:

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

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

語句 結果
Select ROUND(123.4545, 2)
123.4500

Select ROUND(123.45, -2)
100.00


C. 使用 ROUND 截斷
下例使用兩個 Select 語句說明四舍五入和截斷之間的區別。第一個語句四舍五入結果。第二個語句截斷結果。

語句 結果
Select ROUND(150.75, 0)
151.00

Select ROUND(150.75, 0, 1)
150.00

轉載于:https://www.cnblogs.com/qianjinyan/p/9636544.html

總結

以上是生活随笔為你收集整理的SQLServer中round函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。