我遇到以下问题(示例字符串):
10162/0 应该看起来像 010162/0000
47000/685 应该看起来像 047000/0685
9055/2 应该看起来像 009055/0002
所以直到'/',如果没有正好6位数,我需要带有前导零的6位数字。在'/'之后,如果没有4位数,我需要正数为4位且前导零。
我尝试过:
SELECT RIGHT('000000/0000' + [column_name], 11) ...
但当然,在'/'之后的第二部分是不起作用的原因:)
我希望有人能帮助我。 提前谢谢!
答案 0 :(得分:2)
你可以通过一堆字符串操作来做到这一点。像这样:
select right(replicate('0', 6) + left(val, charindex('/', val)), 7) +
right(replicate('0', 4) + right(val, charindex('/', reverse(val)) - 1), 4)
不幸的是,SQL Fiddle今天早上没有回来,所以我无法完全测试这个。
编辑:修复了缺失的括号