包含sqlserver舍入的词条

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://pwwzsj.com/article/dscedsd.html