四捨五入 ROUND函數、無條件進位 CEILING函數及無條件捨去 FLOOR函數

Designed by Freepik
筆記一下SQL常用的三種處理數字的函數
1、ROUND:傳回數值,捨入到指定的長度或有效位數。
2、CEILING:此函式會傳回大於或等於所指定數值運算式的最小整數。
3、FLOOR:傳回小於或等於指定數值運算式的最大整數。
圖片來源Designed by Freepik



  1. ROUND() 四捨五入到小數點後兩位(保留小數點位數)
select ROUND(748.584, 2)
--
輸出結果:748.580

  1. ROUND() 四捨五入到整數(保留小數點位數)
select ROUND(748.584, 0)
--
輸出結果:749.000

  1. ROUND() 無條件捨去到整數(保留小數點位數)
select ROUND(748.584, 0, 1)
--
輸出結果:748.000

  1. 更改顯示結果為小數點後n位
select CAST(ROUND(748.584,2) as decimal (10,2))
--
輸出結果:748.58

select CAST(ROUND(748.584,0) as decimal (10,1))
--
輸出結果:749.0

select CAST(ROUND(748.584, 0, 1) as decimal (10,1))
--
輸出結果:748.0

  1. CEILING() 無條件進位到整數(不顯示小數點位數)
select CEILING(748.484)
--
輸出結果:749

  1. FLOOR() 無條件捨去到整數(不顯示小數點位數)
select FLOOR(748.584)
--
輸出結果:748

其中要注意的是 CEILING 與、 FLOOR 函數,只能處理到整數,顯示時僅顯示整數
ROUND 函數,可以自定要處理的有效位數,顯示時保留原數值小數點位數

沒有留言:

張貼留言

技術提供:Blogger.