这是示例代码
declare @Currency table (ccy char(3),amount money)
insert into @Currency
values ('USD',12.34), ('AUD',12.34), ('INR',12.34)
我需要显示如下输出,
when ccy = 'USD' then 12 (No decimals- cut off after decimal values)
when ccy = 'AUD' then 12.34 (Two decimals)
when ccy = 'INR' then 12.3400 (Four decimals)
预期输出:
ccy amount
USD 12
AUD 12.34
INR 12.3400
请建议我如何在Tsql中实现这一目标。
最佳答案
您需要将值转换为字符串。 SQL Server为此具有一个便捷的功能str()
:
select ccy,
(case when ccy = 'USD' then str(amount, 10, 0)
when ccy = 'AUD' then str(amount, 10, 2)
when ccy = 'INR' then str(amount, 10, 4)
end)
from @currency;
您可能还需要研究
format()
函数。这也允许您包括货币符号。