首页 > 解决方案 > SQL Server - 根据固定长度用 0 动态填充列值

问题描述

我有一列具有给定值

MRN
1946
456
27
557

列值长度是固定的。如果任何值都小于 6 个字符,那么它应该将 0 连接到左侧并使其长度为 6 个字符。所需的输出是

MRN 
001946
000456
000027
000557

标签: sqlsql-servertsql

解决方案


这称为左填充。在 SQL Server 中,这通常通过更基本的字符串操作来完成:

select right(replicate('0', 6) + mrn, 6)

如果mrn是数字,则使用concat()函数:

select right(concat(replicate('0', 6), mrn), 6)

推荐阅读