如何在sql中将前导零添加到十进制值

时间:2014-01-14 07:32:15

标签: sql-server tsql format

我在表中有重量列,必须按照以下格式'09 .230'插入重量。重量列是varchar类型。因此,来自前端的价值为“9.23”,它应转换为上述格式,即(09.230)。我能够添加尾随零,但添加前导零是一个问题。 这就是我所做的添加尾随零

CAST(ROUND(@Weight,3,0) AS DECIMAL (9,3))

假设上面的@Weight = 6.56输出为'6.560',但输出为'06 .560'。

1 个答案:

答案 0 :(得分:3)

RIGHT('0'+ CONVERT(VARCHAR, CAST(ROUND(@Weight,3,0) AS DECIMAL (9,3))), 6)

  • 接受你的表达,
  • 将其转换为varchar(保留尾随零,因为源数据类型为十进制),
  • 在其前面添加0
  • 如果需要,
  • 通过从前面删除字符将其修剪为6个字符(例如012.560 - &gt; 12.560,但06.560 - &gt; 06.560)。< / LI>

请注意,这仅适用于小数点前最多两位数的数字:100.123将被截断为00.123