sql - SQL Server - 根据固定长度用 0 动态填充列值
问题描述
我有一列具有给定值
MRN
1946
456
27
557
列值长度是固定的。如果任何值都小于 6 个字符,那么它应该将 0 连接到左侧并使其长度为 6 个字符。所需的输出是
MRN
001946
000456
000027
000557
解决方案
这称为左填充。在 SQL Server 中,这通常通过更基本的字符串操作来完成:
select right(replicate('0', 6) + mrn, 6)
如果mrn
是数字,则使用concat()
函数:
select right(concat(replicate('0', 6), mrn), 6)
推荐阅读
- r - 如何对 R 中的每个列名进行 FOR LOOP 并将它们转换为单独的数据框?
- mathematical-optimization - 在内点求解器中,我们可以将统一约束设置为 x1+x2+x3+x4=1 我们可以设置像 0.10<=x1+x3>=0.80 和 0.20<=x2+x4>=0.50 这样的约束
- html - 如何在高度为 100% 的 html 和正文中制作粘性导航栏?
- json - 如何从json中读取ordereddict
- android - 微调器第一个元素高度未设置为零
- python - OpenCV dilate() 函数没有关闭所有方向的间隙
- c# - OnPost 未分配新模型值
- c# - PackageReference 或 ProjectReference 到同一解决方案中的组件?
- java - 使用 SwingWorker 发生异常后,即使值正确,线程也不会执行
- docker - 从 docker 容器中获取所有正在运行的容器的 IP 地址