不四舍五入取整(截取整數(shù)部分)就是向下取整秕磷。
除了用truncate函數(shù)來不四舍五入取小數(shù)诵闭,我們還可以通過變換的方法利用向下取整得到。
先把需要的小數(shù)部分換算成整數(shù),使用向下取整后再換算成小數(shù)疏尿。
類型 | 類別 | 函數(shù)名 | 描述 |
---|---|---|---|
取整 | 向下 | floor(expr) | 返回小于expr的最大整數(shù) |
取整 | 向上 | ceil(expr) | 返回大于expr的最小整數(shù) |
取整 | 向上 | ceiling(expr) | 返回大于expr的最小整數(shù) |
取整 | 四舍五入 | round(expr) | 四舍五入取整瘟芝,后面沒有num默認(rèn)取整 |
取整 | 四舍五入 | round(expr,num) | 四舍五入取整,num為0表示取整 |
取整 | 不四舍五入 | truncate(expr,num) | 不四舍五入取整褥琐,num為0表示取整 |
取小數(shù) | 四舍五入 | round(expr,num) | 四舍五入取小數(shù)锌俱,num指取幾位小數(shù) |
取小數(shù) | 不四舍五入 | truncate(expr,num) | 不四舍五入取小數(shù),num指取幾位小數(shù) |
取小數(shù) | 不四舍五入 | round(floor(expr*temp)/temp,num) | 其中temp=10^num敌呈,num指取幾位小數(shù) |
實(shí)例
select
floor(52.45), #52
floor(52.54), #52
ceil(52.4), #53
ceiling(52.5), #53
round(52.45), #52
round(52.45, 0), #52
round(52.54, 0), #53
truncate(52.45,0), #52
truncate(52.55,0), #52
round(52.45, 1), #52.5
round(52.54, 1), #52.5
truncate(52.45,1), #52.4
truncate(52.54,1), #52.5
round(floor(52.45*10)/10,1), #52.4
round(floor(52.54*10)/10,1) #52.5
#輸出:52|52|53|53|52|52|53|52|52|52.5|52.5|52.4|52.5|52.4|52.5
小數(shù)點(diǎn)后一位以<0.5取0贸宏,>=0.5取0.5
floor(expr/0.5)*0.5