如何在sql server中实现0.5的四舍五入?
如何在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
示例输入:
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不必担心,谢谢你的回答