看板 Database 關於我們 聯絡資訊
※ 引述《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)
magicalko:感謝指導.. 03/01 15:33
※ 編輯: ChingLan326 來自: 210.66.204.147 (03/07 14:16)