首页 > 解决方案 > 格式化case语句中的数字

问题描述

我有一个查询,其中包含一些案例语句,其中一个确定要支付一个帐户的金额,现在一切都很好,但我希望对结果进行格式化,它是如何在 SQL 中显示的。我正在使用 SQL Server Management Studio (SQL Server 2016)。

我正在尝试将'$' + Format(col_name, '#,###')结果显示为货币但没有小数。图片显示了我在运行查询后当前拥有的内容。

当我尝试合并上述格式时,我得到Msg 402 Error The data types nvarchar and varchar are incompatible in the subtract operator.

不知道如何修改我的代码。

CASE    
    WHEN (prior.amountpaid - prior.amountOwed) < 0 THEN p.amountpaid
    ELSE
         prior.amountpaid - prior.amountOwed + p.amountpaid
         END AS 'Amount Paid',

在此处输入图像描述

标签: sqlsql-server

解决方案


将 FORMAT 函数包裹在整个 CASE 表达式周围,而不是在单个列上执行。


推荐阅读