sql >> データベース >  >> Database Tools >> SSMS

SQL繰り返し文字列

    次のパターンは、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
    


    1. PHPを使用して.datまたは.txt形式でファイルをエクスポートする方法

    2. #1025-'./database/#sql-2e0f_1254ba7'の名前を'./database/table'に変更する際のエラー(errno:150)

    3. SSMSの拡張性/アドイン-現在のデータベースとサーバーを取得します

    4. MySQLWorkbench>プラグイン>ユーティリティ>SQLクエリの再フォーマット