mssql sqlserver 取消数值四舍五入的方法分享


摘要:
下文讲述使用round sql函数,对数值型数据进行舍入操作
实验环境:sqlserver 2008


最近接到用户需求,需对数值型数据,无论后面数据多少,直接进行舍入操作,左思右想,终于发现了round函数可以满足此操作。
————————————————–
round函数舍入特性介绍:
round语法介绍:
round(数据表达式,长度[,操作方式])
———————-
参数说明:
数据表达式:
接收一个tinyint、int、bigint、decimal、numeric、money、smallmoney、float、real
长度:
此参数须为tinyint int smallint类型
round函数舍入的精度
操作方式:
此参数须为tinyint int smallint类型
缺省值:为0,如果输入其它值,则将截断“数据表达式”
———————-
返回值说明:
tinyint返回int
int 返回int
bigint 返回bigint
decimal numberic 返回decimal numberic
money smallmoney返回money
float real 返回float
———————–

注意事项:
当”长度”为正数时,则将小数点后舍入的位数
当”长度”为负数时,则将小数点前舍入的位数

 —————————————————–
round应用举例:

     SELECT ROUND(8989.3652, 2), --小数位后保留2位,四舍五入
  ROUND(8989.3652, -2),--小数位前舍入2位,四舍五入
  ---小数位全部舍入,四舍五入
  ROUND(8956.34, 0),ROUND(8956.65, 0),ROUND(8956.25, 0), 
  ---截断数据舍入位置后的数据
  ROUND(16081.83,0,-2),  ROUND(16081.83,0,1),  ROUND(16081.83,0,5),
  ROUND(16081.835,2,8),  ROUND(16081.836,-2,6),  ROUND(16081.83,-2,7)
  go
 
 ---例:sql取消四舍五入方法分享
 ---丢失小数位后两位,并不进行四舍五入操作
 select round(8989.999,2,9)