sql >> Database teknologi >  >> Database Tools >> SSMS

SQL-gentagende tegnstreng

Følgende finder mønstre, dvs. 333... eller 123... eller 987...

Tænk på det som Rummy 500... Kørsler og grupper på 3 eller flere.

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
 

Returnerer

col
5555
6789
22222
45678
55555
77777
55555555
98765432
 

Nu, hvis du er ligeglad med at identificere "kørsler" (123...)", skal du bare fjerne følgende:

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

  1. hvordan vælger man mysql-forespørgsel med fremmedsprog?

  2. Hvordan kan jeg kontrollere, om et SQL-resultat indeholder et linjeskifttegn?

  3. Hvor lang tid skal en 75mb sql-fil tage at importere i PHPMyAdmin?

  4. PHPMyAdmin Designer viser ikke relationer