推 magicalko:感謝指導.. 03/01 15:33
※ 編輯: ChingLan326 來自: 210.66.204.147 (03/07 14:16)
※ 引述《magicalko》之銘言:
: DECLARE @TB2121 CHAR(5),@TB2122 VARCHAR (3),@TB2120 CHAR(10)
: SET @TB2120 = 'GD01-'
: SET @TB2122 = 000
: WHILE @TB2122 <= 100
: BEGIN
: USE TEST06
: SET @TB2121 = @TB2120 + @TB2122
: PRINT @TB2121 + @TB2122
: 結果是
: GD01-0
: ~~
: GD01-100
: 請問怎樣才能出現
: GD01-000
: ~~
: GD01-100
: 謝謝
首先 @TB2121 CHAR(5) 長度不夠
看起來這個變數放'GD01-100'要8
迴圈條件 @TB2122沒有遞增 會變無窮迴圈
Begin要搭配End
看起來你應該是要產生 @TB2121 'GD01-'+3碼流水號
從'GD01-000'到'GD01-100'?
下列是我修改過的 @@;
Declare @TB2120 nvarchar(10);
Declare @TB2121 nvarchar(10);
Declare @TB2122 smallint;
SET @TB2120 = 'GD01-';
SET @TB2122 = 0;
WHILE @TB2122 <= 100
BEGIN
SET @TB2121 = @TB2120 + Right('00'+Cast(@TB2122 as nvarchar(3)),3)
PRINT @TB2121
Set @TB2122 = @TB2122+1
End
--
※ 發信站: 批踢踢實業坊(ptt.cc)