这是一个示例代码
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 中实现这一点。
最佳答案
试试这个:
declare @Currency table (ccy char(3),amount money)
insert into @Currency
values ('USD',1234), ('AUD',1234), ('INR',1234)
SELECT ccy,
CASE WHEN ccy = 'USD' THEN CAST(CAST(amount AS NUMERIC(16,0)) AS VARCHAR)
WHEN ccy = 'AUD' THEN CAST(CAST(amount AS NUMERIC(16,2)) AS VARCHAR)
WHEN ccy = 'INR' THEN CAST(CAST(amount AS NUMERIC(16,4)) AS VARCHAR)
END amount
FROM @Currency
输出:
ccy amount
USD 1234
AUD 1234.00
INR 1234.0000
检查 # SQL Fiddle 中的答案
关于sql - 如何根据字段中的值截断或添加小数点 - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50292320/