使用填充零

时间:2016-11-01 10:46:48

标签: sql-server tsql formatting

我有以下字段叫做" MaterialPrice"。它是 -

的数据类型
DECIMAL (18,2)

所以样本值是" 10.88"

我需要将其改为以下内容 -

0000000000000**1088**0

因此字段长度为18,其中最后一个字符(左侧始终为0)和原始值前面的字符也用零填充。

另一个例子是

501.02

将是

000000000000**50102**0

任何帮助都将不胜感激。

由于

2 个答案:

答案 0 :(得分:0)

我会:

  1. 乘以100,
  2. 施放到字符串,
  3. 测量长度,
  4. 连接:( 17长)“0”,“**”,字符串编号和“** 0

答案 1 :(得分:0)

如果我理解正确的要求,您可以如下:

DECLARE @val DECIMAL(18, 2) = 501.02
SELECT REPLICATE(0, 18 - LEN(@val)) + '**' + REPLACE(CAST(@val AS VARCHAR(50)), '.', '') + '**0'

结果:000000000000**50102**0