SET NOCOUNT ON
GO
DECLARE @MyCounter INT
DECLARE @StrSQL varcharSET @MyCounter = 1
set @StrSQL=',a'
WHILE (@MyCounter < 26)
BEGIN
   set @StrSQL=@StrSQL + str(@mycounter)
   SET @MyCounter = @MyCounter + 1
ENDSET NOCOUNT OFF
print @mycounter 
print @strsql
GO
最后结果怎么会是:,26呢??
我想要的结果是:a0,a1,a2....a26
请教高手指点!

解决方案 »

  1.   

    SET NOCOUNT ON
    GO
    DECLARE @MyCounter INT
    DECLARE @StrSQL varchar(2000)SET @MyCounter = 1
    set @StrSQL=''
    WHILE (@MyCounter <= 26)
    BEGIN
       set @StrSQL=@StrSQL + ',a'+ltrim(str(@mycounter))
       SET @MyCounter = @MyCounter + 1
    ENDSET NOCOUNT OFF
    print stuff(@strsql,1,1,'')
    GO
      

  2.   

    你要给@StrSQL 一个长度,而且循环的地方有点问题
    SET NOCOUNT ON
    GO
    DECLARE @MyCounter INT
    DECLARE @StrSQL varchar(200)SET @MyCounter = 1
    set @StrSQL='a0'
    WHILE (@MyCounter < 26)
    BEGIN

       set @StrSQL=@StrSQL + ',a' + ltrim(str(@mycounter))
       SET @MyCounter = @MyCounter + 1
    ENDSET NOCOUNT OFF
    print @mycounter 
    print @strsql
    GO
      

  3.   

    查找某一字符中的某个字母所在位置的值。用那个函数啊??
    如:abcdef
    查找 e
    返回 5
    用那个函数????
      

  4.   

    用charindex
    select charindex('e','abcdef')