作者ChingLan326 (总舵主)
看板Database
标题Re: [SQL ] MS SQL 2005 请教一下变数型态转换
时间Sat Feb 26 01:22:07 2011
※ 引述《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)
1F:推 magicalko:感谢指导.. 03/01 15:33
※ 编辑: ChingLan326 来自: 210.66.204.147 (03/07 14:16)