Sql 以固定长度格式将额外零动态添加到整数

Sql 以固定长度格式将额外零动态添加到整数,sql,tsql,Sql,Tsql,我需要以15个整数和3个小数位18长度的格式显示sql列的数量 动态添加额外的零以完成长度18 十进制的也将被零替换 例如: $2494.60将显示为00000000 2494060 可以使用SQL实现吗?您可以使用STR来固定小数点的前导和尾随位置,并使用REPLACE将空格和点更改为零 查询: SELECT Amount , PaddedAmount = REPLACE(REPLACE(STR(Amount, 15, 2), '.', '0'), ' ', '0') FROM

我需要以15个整数和3个小数位18长度的格式显示sql列的数量

动态添加额外的零以完成长度18 十进制的也将被零替换 例如:

$2494.60将显示为00000000 2494060

可以使用SQL实现吗?

您可以使用STR来固定小数点的前导和尾随位置,并使用REPLACE将空格和点更改为零

查询:

SELECT Amount
    , PaddedAmount = REPLACE(REPLACE(STR(Amount, 15, 2), '.', '0'), ' ', '0')
FROM
    (VALUES (12345.678), (1231312), (0.12345), (0), (123456789012.45)) AS V (Amount)
输出:

Amount               PaddedAmount
-------------------  ----------------
12345.67800          000000012345068
1231312.00000        000001231312000
0.12345              000000000000012
0.00000              000000000000000
123456789012.45000   123456789012045

请您再检查一下第二行的末尾好吗。我认为这有一些问题括号是朝着另一个方向的:非常感谢@Jayvee
Amount               PaddedAmount
-------------------  ----------------
12345.67800          000000012345068
1231312.00000        000001231312000
0.12345              000000000000012
0.00000              000000000000000
123456789012.45000   123456789012045