すべてのユーザーのユーザー名を含む列のうち、ユーザーのユーザー名と一致する必要があるSQLクエリに問題があります。SQL double pipe concatenationと似ています
だから、コラムのようなものが含まれます:ユーザー
|USER1|USER2|USER3|USER11|USER22|
も、「USER11」に一致する「USER1」を防ぐために、左右にパイプを持っています。
私のクエリは(コードは、MySQLで実行されるクエリでUSER1は、私たちのコードから生成された変数であることを私は連結構文を保持しなければならないと私はあまりにも標準構文を使用する必要があります
SELECT * FROM myTable WHERE CONCATUSERS LIKE ('%|' || 'USER1' || '|%')
注意です、SQLServerのなど。
だからLIKE句で文字列を連結する正しい方法は何ですか?MySQLは連結のための二重のパイプを使用しています
MySQLとSQL Serverは、文字列の連結のためのさまざまな演算子を持っている - 特にあなたが探している1? –
私は両者で動作するものを使用しなければならず、二重パイプが標準のものでなければならないことがわかりました –
残念ながら、SQL標準であるにもかかわらず、SQL Serverではサポートされていません。 MySQLではサポートされていますが、明示的に有効にする必要があります。 SQL 2012以降はCONCATをサポートしているので、そのバージョンに制約を付けることができれば、両方をサポートできるようになります。 –