次のシナリオがあります。
DECLARE @m VARCHAR(50) = '000000001'
WHILE (@m <= 10)
BEGIN
PRINT @m
-- Increment the iterator
SET @m = @m + 1
END
上記のコードを実行すると、次のようになります。
000000001
2
3
4
5
6
7
8
9
10
問題は、結果が次のようになる必要があることです。
000000001
000000002
000000003
000000004
000000005
000000006
000000007
000000008
000000009
000000010
数値が増加しているときに数値の前に 8 つの 0 が表示されるようにしたいのですが、数値が 10 に達すると 7 つの 0 になります。次のことを試しましたが、うまくいきませんでした。 .
DECLARE @m VARCHAR(50) = '1'
WHILE (@m <= 10)
BEGIN
PRINT '00000000' +@m
-- Increment the iterator
SET @m = @m + 1
END
基本的に私は 9 桁だけを保持したいのですが、これはばかげているように聞こえるかもしれませんが、何と言えますか (私の上司はそのように望んでいます)。