Sql server 如何在tsql中将前导零添加到十进制值

Sql server 如何在tsql中将前导零添加到十进制值,sql-server,tsql,format,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” RIGHT('0'+ CONVERT(VARCHAR, CAST(ROUND(@Weigh

我在表格中有“重量”列,其中必须以以下格式“09.230”插入重量。权重列为varchar类型。所以前端的值为“9.23”,它应该转换为上述格式,即(09.230)。我可以添加尾随零,但添加前导零是一个问题。 这就是我添加尾随零的方法

CAST(ROUND(@Weight,3,0) AS DECIMAL (9,3))
假设@Weight=6.56以上的输出为“6.560”,但需要的输出为“06.560”

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

  • 用你的表情
  • 将其转换为varchar(保留尾随零,因为源数据类型为decimal)
  • 在其前面添加一个
    0
    ,然后
  • 如果需要,通过从前面删除字符将其修剪为6个字符(例如
    012.560
    ->
    12.560
    ,但
    06.560
    ->
    06.560
但请注意,这只适用于小数点前最多两位的数字:
100.123
将被截断为
00.123