sqlserver里有没有取整的函数
参数
成都创新互联公司专业为企业提供肇东网站建设、肇东做网站、肇东网站设计、肇东网站制作等企业网站建设、网页设计与制作、肇东企业网站模板建站服务,10多年肇东做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
numeric_expression
精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。
length
是 numeric_expression 将要四舍五入的精度。length 必须是 tinyint、smallint 或int。当 length 为正数时,numeric_expression 四舍五入为 length 所指定的小数位数。当 length 为负数时,numeric_expression 则按 length 所指定的在小数点的左边四舍五入。
function
是要执行的操作类型。function 必须是 tinyint、smallint 或 int。如果省略 function 或 function 的值为 0(默认),numeric_expression 将四舍五入。当指定 0 以外的值时,将截断 numeric_expression。
例:
Select ROUND(150.75, 0)
151.00
Select ROUND(150.75, 0, 1)
150.00
FLOOR
返回小于或等于所给数字表达式的最大整数。
FLOOR(1.1)=1
FLOOR(2)=2
CEILING
返回大于或等于所给数字表达式的最小整数。
CEILING(1.1)=2
CEILING(2)=2
如果要四舍五入:
cast(round(1.6,0) as int) =2
cast(round(1.4,0) as int)=1
cast(round(2,0) as int)=2
sqlserver 中保留小数点后多少位,用round
round返回数字表达式并四舍五入为指定的长度或精度。
显示的界面上要求只保留到小数点后4位,发现round(表达式,4,1)可以截断小数点4位后的数字
如果写(round,4)表示对小数点后4位四舍五入,但不截断多的0
sql server 2008 整数相除四舍五入
sql server 2008 整数相除需要除数或被除数有一个数据类型为小数,才可以四舍五入。
首先看一个例子,如图:
两条语句唯一区别就是 10 与 10.00
1、select cast(round(10/6,0) as int) 结果:1
2、select cast(round(10.00/6,0) as int) 结果:2
但结果确不一样。
原因是SQLserver有默认的数据类型转换。
10/6 默认转换为整型 即:10/6 = 1。那么 round(1) = 1
10.00/6 默认转换为小数即:10.00/6 = 1.666666 ,那么 round(1.666666,0) = 2
网站标题:包含sqlserver舍入的词条
文章URL:http://scyingshan.cn/article/dscedsd.html