SSMS
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> SSMS

Chuỗi ký tự lặp lại trong SQL

Phần sau tìm thấy các mẫu, tức là 333 ... hoặc 123 ... hoặc 987 ...

Hãy nghĩ về nó giống như Rummy 500 ... Chạy và chạy theo nhóm từ 3 người trở lên.

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

Trả lại

col
5555
6789
22222
45678
55555
77777
55555555
98765432

Bây giờ, nếu bạn không quan tâm đến việc xác định "lần chạy" (123 ...) ", chỉ cần xóa phần sau:

    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. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Không thể đăng nhập vào máy chủ trong SQL Server 2008 R2 Management Studio

  2. Làm cách nào để biết vị trí của các điểm dừng tab trong trình chỉnh sửa SQL Server Management Studio?

  3. Tải tệp lên varbinary bằng SQL Management Studio

  4. Mất IntelliSense trong SQL Server Management Studio

  5. Mẫu SQL Server - Làm cách nào để thoát khỏi ký tự nhỏ hơn?