文章目录
- 一、round(x[,N])
- 二、floor(x[,N])
- 三、ceil(x[,N]),ceiling(x[,N])
- 四、trunc(x[, N]), truncate(x[, N])
一、round(x[,N])
说明:将值取整到指定的小数位数,该函数按顺序返回最近的数字。
语法:
round(expression [, decimal_places])
参数说明:
-  expression:要进行取整的数字,可以是任何返回数字类型的表达式。
-  decimal-places:整数类型。-  如果decimal-places > 0,则该函数将值舍入小数点右侧。
-  如果decimal-places < 0,则该函数将小数点左侧的值四舍五入。
-  如果decimal-places = 0,则该函数将该值舍入为整数。在这种情况下,可以省略参数。
 
-  
-  返回值:与输入数字相同类型的取整后的数字。
例子:
select round(3.2, 0) as data_1,     # 3round(4.1267, 2) as data_2,     # 4.13round(22,-1)     as data_3,     # 20round(467,-2)    as data_4,     # 500round(-467,-2)   as data_5;     # -500
注:如果给定的数字包含多个最近数字,则函数返回其中最接近偶数的数字(银行的取整方式)。
例如:
select round(5.5)    as data_1,   # 6round(6.5)       as data_2,   # 6round(7.55, 1)   as data_3,   # 7.6round(7.65, 1)   as data_4;   # 7.6
二、floor(x[,N])
说明: 返回小于或等于x的最大舍入数。
该函数使用参数乘1/10N,如果1/10N不精确,则选择最接近的精确的适当数据类型的数。
参数说明:
-  x:是任何数字类型。结果与其为相同类型。对于整数参数,使用负’N’值进行舍入是有意义的(对于非负«N»,该函数不执行任何操作)。
-  N:是一个整数常量,以是负数,可选参数 。默认为 0,这意味着不对其进行舍入。
例子:
selectfloor(9.12)      as data_1,   # 9floor(-9.12)     as data_2,   # -10floor(9.55, 1)   as data_3,   # 9.5floor(99.55, -1) as data_4;   # 90
注:如果取整导致溢出(例如,floor(-128,-1)),则返回特定于实现的结果。
三、ceil(x[,N]),ceiling(x[,N])
说明: 返回大于或等于’x’的最小舍入数。在其他方面,它与’floor’功能相同(见上文)。
例子:
select ceil(9.55, 1)        as data_1,  # 9.0ceil(-9.12, -2)      as data_2,  # -0ceil(99.55,-1)       as data_3   # 100
union all
select ceiling(9.55, 1)    as data_1,   # 9.0ceiling(-9.12, -1)  as data_2,   # -0ceiling(99.55,-1)   as data_3;   # 100
四、trunc(x[, N]), truncate(x[, N])
说明: 返回具有最大绝对值的整数,该整数的绝对值小于或等于x。在其他方面,它与“floor”函数相同(见上文)
例子:
selecttrunc(9.55, 1)      as data_1,    # 9.0trunc(-9.12, -2)    as data_2,    # -0trunc(99.55,-1)     as data_3     # 100
union all
selecttruncate(9.55, 1)    as data_1,   # 9.0truncate(-9.12, -1)  as data_2,   # -0truncate(99.55,-1)   as data_3;   # 100