DECLARE @i numeric(10,0)
set @i = 2311111111 --2313134121
while @i<=4444444444
begin
if PATINDEX('%[05-9]%', str(@i))=0 --ABCD四個答案
if SUBSTRing(str(@i),9,1) =1 and (SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),6,1) or SUBSTRing(str(@i),6,1) = SUBSTRing(str(@i),5,1)) or
SUBSTRing(str(@i),9,1) =2 and (SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),6,1) or SUBSTRing(str(@i),10,1) = SUBSTRing(str(@i),5,1)) or
SUBSTRing(str(@i),9,1) =3 and (SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),6,1) or SUBSTRing(str(@i),2,1) = SUBSTRing(str(@i),5,1)) or
SUBSTRing(str(@i),9,1) =4 and (SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),6,1) or SUBSTRing(str(@i),9,1) = SUBSTRing(str(@i),5,1))
--這是第9題
if SUBSTRing(str(@i),2,1)=1 and SUBSTRing(str(@i),5,1)=3 or
SUBSTRing(str(@i),2,1)=2 and SUBSTRing(str(@i),5,1)=4 or
SUBSTRing(str(@i),2,1)=3 and SUBSTRing(str(@i),5,1)=1 or
SUBSTRing(str(@i),2,1)=4 and SUBSTRing(str(@i),5,1)=2
--這是第2題
if SUBSTRing(str(@i),5,1) = 1 and SUBSTRing(str(@i),8,1) = 1 or
SUBSTRing(str(@i),5,1) = 2 and SUBSTRing(str(@i),4,1) = 2 or
SUBSTRing(str(@i),5,1) = 3 and SUBSTRing(str(@i),9,1) = 3 or
SUBSTRing(str(@i),5,1) = 4 and SUBSTRing(str(@i),7,1) = 4
--這是第5題
if SUBSTRing(str(@i),6,1) =1 and SUBSTRing(str(@i),2,1) = SUBSTRing(str(@i),8,1) and SUBSTRing(str(@i),4,1) = SUBSTRing(str(@i),8,1) or
SUBSTRing(str(@i),6,1) =2 and SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),8,1) and SUBSTRing(str(@i),6,1) = SUBSTRing(str(@i),8,1) or
SUBSTRing(str(@i),6,1) =3 and SUBSTRing(str(@i),3,1) = SUBSTRing(str(@i),8,1) and SUBSTRing(str(@i),10,1)= SUBSTRing(str(@i),8,1) or
SUBSTRing(str(@i),6,1) =4 and SUBSTRing(str(@i),5,1) = SUBSTRing(str(@i),8,1) and SUBSTRing(str(@i),9,1) = SUBSTRing(str(@i),8,1)
--這是第6題
if SUBSTRing(str(@i),4,1) =1 and SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),5,1) or
SUBSTRing(str(@i),4,1) =2 and SUBSTRing(str(@i),2,1) = SUBSTRing(str(@i),7,1) or
SUBSTRing(str(@i),4,1) =3 and SUBSTRing(str(@i),1,1) = SUBSTRing(str(@i),9,1) or
SUBSTRing(str(@i),4,1) =4 and SUBSTRing(str(@i),6,1) = SUBSTRing(str(@i),10,1)
--這是第4題
if SUBSTRing(str(@i),3,1) =1 and SUBSTRing(str(@i),6,1) <>1 and SUBSTRing(str(@i),2,1) <>1 and SUBSTRing(str(@i),4,1) <>1 or
SUBSTRing(str(@i),3,1) =2 and SUBSTRing(str(@i),6,1) <>2 and SUBSTRing(str(@i),2,1) <> SUBSTRing(str(@i),6,1) and SUBSTRing(str(@i),4,1) <>SUBSTRing(str(@i),6,1) or
SUBSTRing(str(@i),3,1) =3 and SUBSTRing(str(@i),6,1) <>SUBSTRing(str(@i),2,1) and SUBSTRing(str(@i),2,1) <>3 and SUBSTRing(str(@i),4,1) <>SUBSTRing(str(@i),2,1) or
SUBSTRing(str(@i),3,1) =4 and SUBSTRing(str(@i),6,1) <>SUBSTRing(str(@i),4,1) and SUBSTRing(str(@i),2,1) <>SUBSTRing(str(@i),4,1) and SUBSTRing(str(@i),4,1) <>4
--這是第3題
if SUBSTRing(str(@i),8,1) =1 and abs(cast(SUBSTRing(str(@i),7 ,1) as int)-cast(SUBSTRing(str(@i),1,1) as int))>1 or
SUBSTRing(str(@i),8,1) =2 and abs(cast(SUBSTRing(str(@i),5 ,1) as int)-cast(SUBSTRing(str(@i),1,1) as int))>1 or
SUBSTRing(str(@i),8,1) =3 and abs(cast(SUBSTRing(str(@i),2 ,1) as int)-cast(SUBSTRing(str(@i),1,1) as int))>1 or
SUBSTRing(str(@i),8,1) =4 and abs(cast(SUBSTRing(str(@i),10,1) as int)-cast(SUBSTRing(str(@i),1,1) as int))>1
--這是第8題
print '正確答案有:'+str(@i)
set @i =@i+1
end