在特定字符后添加前导零

Add leading zeros after specific character

我遇到以下问题(示例字符串):

10162/0 应该看起来像 010162/0000
47000/685 应该看起来像 047000/0685
9055/2 应该看起来像 009055/0002

所以直到“/”,如果不是恰好有 6 位数字,我需要 6 位带前导零的数字。在“/”之后,如果没有 4 位数字,我需要恰好 4 位数字和前导零。

我试过:

SELECT RIGHT('000000/0000' + [column_name], 11) ...

但当然,'/' 之后的第二部分不工作 :)

我希望有人能帮助我。 提前致谢!

您可以通过一系列字符串操作来完成此操作。像这样:

select right(replicate('0', 6) + left(val, charindex('/', val)), 7) +
       right(replicate('0', 4) + right(val, charindex('/', reverse(val)) - 1), 4)

不幸的是,SQL Fiddle 今天早上没有回来,所以我无法对此进行全面测试。

编辑:修复了缺少的括号