sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2008 の複数の LIKE 問題

    一般的な例から始めて、それからいくつかの「ユニオンオール」でモックアップします

       select distinct Record from dbo.Records
         inner join dbo.Split('stack overflow', ' ') tokens 
           on records_table.Record like '%' + tokens.value + '%'
    

    したがって、以下で私が行ったことは、「レコード」であるいくつかのデータと、dbo.Split 関数からの戻り値のモックであり、基本的には「スタック」と「オーバーフロー」でトークン化された ' ' を持つ varchars のテーブルです。

    select distinct Name from (
     select 'stack' as Name
     union all
     select 'nope' as Name
     union all
     select ' stackoverflow' as Name
       ) records_table 
       inner join (
       select 'stack' as value
         union all
        select 'overflow' as value) tokens 
        on records_table.Name like '%' + tokens.value + '%'
    

    結果:

    stack
    stackoverflow
    

    dbo.Split 関数について特別なことは何もなく、そこにはたくさんの実装例があります...



    1. タイムゾーン付きのデータ型タイムスタンプでのタイムゾーンストレージ

    2. MySQLの制限とアクションなし

    3. Djangomysqlclientのインストール

    4. 複数の親を持つ多対多の階層-PHP、MySQL