在特定字符后添加前导零
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 今天早上没有回来,所以我无法对此进行全面测试。
编辑:修复了缺少的括号
我遇到以下问题(示例字符串):
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 今天早上没有回来,所以我无法对此进行全面测试。
编辑:修复了缺少的括号