将十进制(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 " +

将十进制(19,4)转换为字符串格式

我认为在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添加到总数中。我认为这也是你的代码所缺少的。