我有一个SQL select语句:
select pk from items
它返回:
1
2
4
29
8
987654
12313232
现在我的老板想要这样的东西:
000001
000002
000004
000029
000008
987654
12313232
他肯定希望输出最小为6位(我认为这是无稽之谈)。
我试过做像'00000' + convert(nvarchar(6),pk)
这样的事情,只有当pk
只是一个数字时才能正常工作。你知道该怎么做吗?我应该使用条件语句吗?
通常情况下
RIGHT ('000000' + CONVERT(varchar(6), pk), 6)
但是当你的值超过6位时,试试这个
LTRIM(RIGHT (' 000000' + CONVERT(varchar(10), pk), 10))
罢工但是你需要一个CASE来处理7-9位长的数字:
CASE
WHEN pk >= 1000000 THEN CONVERT(varchar(10), pk)
ELSE RIGHT ('000000' + CONVERT(varchar(6), pk), 6)
END