sql - 在 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
解决方案
您的查询所做的是添加0
到数字数据类型:正如预期的那样,它不会影响它。基本上正如@Fahmi 所评论的那样,前导零对于数字数据类型(等等)并不是没有意义的。
您可以在获取值时处理显示问题,通常通过将其转换为字符串,例如:
select Id, '00' + cast(numberColumn as varchar(9)) from mytable
推荐阅读
- java - Codacy 不显示使用 Travis-CI 的覆盖率
- sql - 从另一个表加速 UPDATE
- git - 在另一个分支上工作时,我可以在 master 上创建一个新分支吗?
- laravel - Laravel 中的重复查询 - 调试器
- python - 如何使用 glade 和 pygobject 在视图之间导航?
- reactjs - 来自浏览器的响应与通过 React 应用程序检索到的响应不同
- oracle - ORACLE 获取 varchar2 字段范围内的较大和较低值
- python - 如何在 python 脚本中发送带有变量的詹金斯电子邮件?
- docker - 如何基于其他 env_variable 在 docker-compose 中设置 env 变量
- javascript - 为什么当我关闭弹出窗口时 videojs 被禁用?