declare @s1 as varchar(26)
declare @s2 as varchar(10)
set @s1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
set @s2 = '0123456789'
set @i as int
set @j as int
--1、字母两两组合
set @i = 1
set @j = 1
while @i <= 26
begin
  set @j = @i + 1
  while @j <= 26
    begin
      print substring(@s1 , @i , 1) + substring(@s1 , @j , 1)
      @j = @j + 1
    end
  @i = @i + 1
end --2、数字两两组合
set @i = 1
set @j = 1
while @i <= 10
begin
  set @j = @i + 1
  while @j <= 10
    begin
      print substring(@s2 , @i , 1) + substring(@s2 , @j , 1)
      @j = @j + 1
    end
  @i = @i + 1
end --3、字母和数字的混合组合
set @i = 1
set @j = 1
while @i <= 26
begin
  set @j = 1
  while @j <= 10
    begin
      print substring(@s1 , @i , 1) + substring(@s2 , @j , 1)
      @j = @j + 1
    end
  @i = @i + 1
end 

解决方案 »

  1.   

    declare @s1 as varchar(26)
    declare @s2 as varchar(10)
    set @s1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    set @s2 = '0123456789'
    declare @i as int
    declare @j as int
    --1、字母两两组合
    set @i = 1
    set @j = 1
    while @i <= 26
    begin
      set @j = @i + 1
      while @j <= 26
        begin
          print substring(@s1 , @i , 1) + substring(@s1 , @j , 1)
          set @j = @j + 1
        end
      set @i = @i + 1
    end --2、数字两两组合
    set @i = 1
    set @j = 1
    while @i <= 10
    begin
      set @j = @i + 1
      while @j <= 10
        begin
          print substring(@s2 , @i , 1) + substring(@s2 , @j , 1)
          set @j = @j + 1
        end
      set @i = @i + 1
    end --3、字母和数字的混合组合
    set @i = 1
    set @j = 1
    while @i <= 26
    begin
      set @j = 1
      while @j <= 10
        begin
          print substring(@s1 , @i , 1) + substring(@s2 , @j , 1)
          set @j = @j + 1
        end
      set @i = @i + 1
    end /*
    AB
    AC
    AD
    AE
    AF
    AG
    AH
    AI
    AJ
    AK
    AL
    .
    .
    .
    Z5
    Z6
    Z7
    Z8
    Z9
    */
      

  2.   

    declare @char varchar
    declare @int int 
    declare @begin int
    declare @end int
    declare @i int 
    set @i = 1
    set @char ='A'
    set @int=1
    set @begin =ascii(@char)
    set @end = ascii('Z')
    while @begin<= @end
    begin
        while  @i<10
         begin  
           print (char(str(@begin))+ str(@i)) 
           set @i=@i +1
         end 
     set @i=1
    set @begin =@begin + 1
    set @char = char(@begin)
    end
    然后在加上一部分 字母循环 和数字循环的
      

  3.   

    declare @charSTR CHAR(36)
    declare @i int 
    CREATE TABLE #TEMP01 (CODE CHAR(1))
    set @i = 1
    SET @CHARSTR='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'while @I<= 36
    begin
       INSERT #TEMP01 (CODE) VALUES(SUBSTRING(@CHARSTR,@I,1))
       set @I=@I + 1endSELECT A.CODE CODE1,B.CODE CODE2
       INTO #TEMP02
    FROM #TEMP01 A,#TEMP01 BSELECT CODE1+CODE2 CODE FROM #TEMP02DROP TABLE #TEMP01
    DROP TABLE #TEMP02