首页 > 解决方案 > 对 CASE 语句的结果进行四舍五入

问题描述

我有一个问题:我需要对CASE语句的结果进行四舍五入。我不确定这是否可能。如果您有任何想法,请告诉我。我需要将案例计算四舍五入并在表格内进行四舍五入(请参见下面的图片#2。我需要 OB_BILLING 和 RET_BILLING 都有整数。此代码需要在 SQL Server Management Studio 中使用。

代码

CASE
    WHEN s.DEIO = 'O' 
        THEN s.DERSP 
        ELSE '0'
END AS OB_BILLING,
CASE 
    WHEN s.DEIO = 'I' AND 'WALMART_CONSOLIDATE' = 'N' 
        THEN -1 * s.DERSP 
        ELSE 0
END AS RET_BILLING,

在此处输入图像描述

在此处输入图像描述

标签: sqlsql-server

解决方案


请试试这个:

round(
    CASE
        WHEN s.DEIO = 'O' THEN s.DERSP 
                          ELSE 0
    END,
    2
) AS OB_BILLING,
round(
    CASE 
        WHEN s.DEIO = 'I' AND 'WALMART_CONSOLIDATE' = 'N' THEN -1 * s.DERSP 
                                                          ELSE 0
    END,
    2
) AS RET_BILLING,

推荐阅读