如何在sql server中实现0.5的四舍五入?

如何在sql server中实现0.5的四舍五入?,sql,sql-server,tsql,Sql,Sql Server,Tsql,如何在sql server中实现0.5的四舍五入? 示例输入:16.65您必须将0.5添加到您的号码中,并对添加的总和使用FLOOR功能 例如: declare @number decimal(4,2) set @number = 16.65 select FLOOR(@number + 0.5) 试试这个 DECLARE @val DECIMAL(8,2) = 16.65 SELECT CAST(CEILING((@val)*2)/2 AS DECIMAL(8,1)) 输出:17.0

如何在sql server中实现0.5的四舍五入?
示例输入:
16.65

您必须将
0.5
添加到您的号码中,并对添加的总和使用
FLOOR
功能

例如:

declare @number decimal(4,2)
set @number = 16.65

select  FLOOR(@number + 0.5)
试试这个

DECLARE @val DECIMAL(8,2) = 16.65
SELECT CAST(CEILING((@val)*2)/2 AS DECIMAL(8,1)) 
输出:
17.0

DECLARE @val DECIMAL(8,2) = 16.07
SELECT CAST(CEILING((@val)*2)/2 AS DECIMAL(8,1)) 
输出:
16.5

我尝试了下面的查询

DECLARE @Val FLOAT;SET @Val = 16.65
SELECT
    CASE
        WHEN (ROUND(@Val / 10,1) * 10)>@Val
        THEN ROUND(@Val / 10,1) * 10
        ELSE (ROUND(@Val / 10,1) * 10) + 0.5
    END

样本输入和输出[16.65--->17][16.07--->16.5]查询请…给我一杯咖啡!读一下这个@JoeTaras,你会提出疑问,然后我会给你咖啡……谢谢,@whencesouver。示例输入和输出[16.65-->17][16.07-->16.5]第一个示例输入工作正常,但第二个示例输入不工作。@rajeshkumar是这样的。准备更好的答案:D.谢谢@WhencesoeverThanks@Cool\u Br33ze。很好用。再一次谢谢,我试着提高投票率,说只有不到15个声誉@Cool_Br33ze.@rajeshkumar不必担心,谢谢你的回答