निम्नलिखित पैटर्न ढूंढता है यानी 333... या 123... या 987...
इसे रम्मी 500 की तरह समझें... रन और 3 या अधिक के समूह।
Declare @Table table (col int)
Insert into @Table values
(4141243),(4290577),(98765432),(78635389),(4141243),(22222),(4290046),(55555555),(4141243),(6789),(77777),(45678),(4294461),(55555),(4141243),(5555)
Declare @Num table (Num int);Insert Into @Num values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9)
Select Distinct A.*
From @Table A
Join (
Select Patt=replicate(Num,3) from @Num
Union All
Select Patt=right('000'+cast((Num*100+Num*10+Num)+12 as varchar(5)),3) from @Num where Num<8
Union All
Select Patt=reverse(right('000'+cast((Num*100+Num*10+Num)+12 as varchar(5)),3)) from @Num where Num<8
) B on CharIndex(Patt,cast(col as varchar(25)))>0
रिटर्न
col
5555
6789
22222
45678
55555
77777
55555555
98765432
अब, यदि आप "रन" (123...)" की पहचान करने की परवाह नहीं करते हैं, तो बस निम्नलिखित को हटा दें:
Union All
Select Patt=right('000'+cast((Num*100+Num*10+Num)+12 as varchar(5)),3) from @Num where Num<8
Union All
Select Patt=reverse(right('000'+cast((Num*100+Num*10+Num)+12 as varchar(5)),3)) from @Num where Num<8