我对EXCEL列有一个DAX公式,名称为ED2
FORMULA:
=IF ( [ED1] - INT ( [ED1] ) > 0.5, ROUNDUP ( [ED1], 0 ), INT ( [ED1] ) )
因此,如果ED1列的值大于0.5,则应四舍五入,否则四舍五入
示例:
答案 0 :(得分:1)
DECLARE @ED float = 3.5;
Select case when @ED - FLOOR(@ED) > 0.5 THEN CEILING(@ED) ELSE FLOOR(@ED) END;
请注意,这对于负数可能无法正常工作
答案 1 :(得分:0)
您可以使用 Round 函数来实现。
SELECT Round(ED1,0) AS Rounded;
以下是圆形函数详细信息的链接:msdn link
更新:
正如评论中提到的那样,在某些情况下这是行不通的。您可以使用以下代码:
Select IIF((ED1%1)>0.5,Ceiling(ED1),Floor(ED1)) As Rounded
您的案例代码:
DECLARE @tbl TABLE(ED1 DECIMAL(8,2));
INSERT INTO @tbl VALUES
(1),(1.25),(1.5),(1.75),
(2),(2.25),(2.5),(2.75),
(3),(3.25),(3.5),(3.75),
(4);
SELECT ED1,ED2=IIF(ED1%1>0.5,CEILING(ED1),FLOOR(ED1)) FROM @tbl
,输出为: