南天一柱 发表于 2018-10-19 12:33:22

SQL中的取整函数、取小数

取整函数:
  1、trunc(value,precision)按精度(precision)截取某个数字,不进行舍入操作。
  返回截尾到y位小数的x值:trunc(x,):
  

select trunc(23.33)  
------------
  
23
  

  2、round(value,precision)根据给定的精度(precision)输入数值[四舍五入取整]。
  返回舍入到小数点右边y位的x值:round(x,):
  

select round(23.33)  
------------
  
23
  

  3、ceiling(value) 产生大于或等于指定值(value)的最小整数[向上取整]。
  返回大于或等于x的最大整数:
  

select ceiling(23.33)  
-----------
  
24
  

  4、floor(value)与 ceiling()相反,产生小于或等于指定值(value)的最小整数[向下取整]。
  返回等于或小于x的最大整数:
  

select floor(23.33)  
------------
  
23
  

  5、sign(value) 与绝对值函数ABS()相反。ABS()给出的是值的量而不是其符号,sign(value)则给出值的符号而不是量。
  返回x的符号:
  

select sign(-23.33)  
------------
  
-1
  

总结:
  【四舍五入取整】:round()
  【向下取整】:FLOOR(),cast(x as int)。取日期的天数部分不能使用cast,需floor(cast(date as float))
  【向上取整】:CEILING()
  【取小数】            :x-floor(x)


页: [1]
查看完整版本: SQL中的取整函数、取小数