将十进制(19,4)转换为字符串格式
本文关键字:转换 字符串 格式 十进制 | 更新日期: 2023-09-27 17:53:28
我有一个3列,这是在这种格式,但我有一个客户的要求,这是在以下格式。我把所有东西都整理好了,但总金额还是不够。
pcn charge 100
court fee 15
solictors costs 00
total amount 115
Requirment
PCN charge - 7 (100) = 0010000
court fee - 5 (15) = 01500
solictors cost - 5 (0) = 00000
total amount - 8 (115)= 00011500 ( I am not getting this value i get 00000115.)
这是我的查询:
"RIGHT('00'+CAST(CAST(bat.PCN_Charge* 100.00 AS INT) AS VARCHAR(5)),7) as CLAIMAMT," +
"RIGHT('0'+CAST(CAST([CFee] * 100 AS INT) AS VARCHAR(5)),5) as CFEE," +
"RIGHT('00000'+CAST(CAST([Solictors Fees] AS INT) AS VARCHAR(5)),5)," +
"RIGHT('00000'+CAST(CAST(bat.PCN_Charge + [CFee] AS INT) AS VARCHAR(5)),8) as TotalAMT " +
我认为在SQL Server中左pad号最简单的方法是添加一个大整数并取最右边的列。我的意思是:
select right(100000000 + CAST(bat.PCN_Charge * 100.00 AS INT), 7),
right(100000000 + CAST([CFee] * 100 AS INT), 5),
right(100000000 + CAST([Solictors Fees] AS INT), 5),
right(100000000 + CAST(bat.PCN_Charge*100 + [CFee]*100 AS INT), 8)
注意,我将*100
添加到总数中。我认为这也是你的代码所缺少的。