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

Linq to Entities (EF 4.1):途中でワイルドカードを使用して SQL LIKE を実行する方法 (「%term%term%」)?

    SqlFunctions を使用できると思います。 PatIndex :

    dt.Table.Where(p => SqlFunctions.PatIndex(term, p.fieldname) > 0);
    

    SqlFunctions.PatIndex は、SQL LIKE と同じように動作します。 オペレーター。以下を含むすべての標準ワイルドカード文字をサポートしています:

    • % 0 個以上の任意の文字列。
    • _ (アンダースコア) 任意の 1 文字
    • [ ] 指定された範囲 ([a-f]) またはセット ([abcdef]) 内の任意の 1 文字。
    • [^] 指定された範囲 ([^a-f]) またはセット ([^abcdef]) 内にない任意の 1 文字。

    SqlFunctions.PatIndex は、SqlMethods.Like が利用できない場合に利用できることがよくあります (MVC コントローラー内を含む)



    1. SQLDROPTABLE外部キー制約

    2. php pdo implode配列が必要で、mysqlに複数の行を挿入します

    3. SQL Server - すべてのデータベースへの読み取りアクセスをログインに付与する方法は?

    4. PHPでビットマスクまたはリレーショナルACLを実装する