舍入到sql server 2008中最接近的所有数字

舍入到sql server 2008中最接近的所有数字,sql,sql-server-2008,Sql,Sql Server 2008,我需要编写一个函数,它将在SQLServer2008中四舍五入到最接近的整数。 可能已经有了这个功能 四舍五入时,我需要有两位小数 乙二醇 如果数字小于5“4.4”,则将其四舍五入;如果数字大于5“4.6,则将其四舍五入 示例: 2.664543=2.70 4.2432=4.20 如何在sql server中执行此操作 非常感谢您可以使用ROUND函数 ROUND ( numeric_expression , length [ ,function ] ) SELECT ROUND(4.4, 0)

我需要编写一个函数,它将在SQLServer2008中四舍五入到最接近的整数。 可能已经有了这个功能

四舍五入时,我需要有两位小数

乙二醇

如果数字小于5“4.4”,则将其四舍五入;如果数字大于5“4.6,则将其四舍五入

示例:

2.664543=2.70

4.2432=4.20

如何在sql server中执行此操作


非常感谢

您可以使用ROUND函数

ROUND ( numeric_expression , length [ ,function ] )
SELECT ROUND(4.4, 0) -- Gives 4.0
SELECT ROUND(4.6, 0) -- Gives 5.0
SELECT ROUND(2.664543, 1)  -- Gives 2.70000
SELECT ROUND(4.2432, 1) -- Gives 4.2000

SELECT CAST(ROUND(4.2432, 1) as NUMERIC(36,2))  -- Gives 4.20

非常感谢。为了获得小数点后的2位,我必须进行选择转换(舍入(MyValue,1)为数字(36,2))。你能用数字(36,2)解释“数字(36,2)”吗。36是数值的精度,2是刻度。根据列数据类型,应使用十进制或数字。您显示的示例没有舍入到小数点后2位。它们四舍五入到小数点后一位,然后显示额外的0。小数点后两位为
2.66
4.24