首页 > 解决方案 > 在 SQL Server 的列中为某些值添加前导零

问题描述

我正在尝试在 sql server 中使用某些列数据类型 int/decimal/numeric 添加前导零值。如何实现这一目标?

update a ---Int/Decimal/Numeric
   set Column='0'+b.column1
from #temp a
,#temp2 b ---Varchar column
where a.id=b.id

预期结果:001234567
实际结果:1234567

标签: sqlsql-servertsql

解决方案


您的查询所做的是添加0到数字数据类型:正如预期的那样,它不会影响它。基本上正如@Fahmi 所评论的那样,前导零对于数字数据类型(等等)并不是没有意义的。

您可以在获取值时处理显示问题,通常通过将其转换为字符串,例如:

select Id, '00' + cast(numberColumn as varchar(9)) from mytable

推荐阅读