2016-10-03 4 views
1

|costume|partyで識別されるフィールドに内容があります。部分文字列値に基づくMYSQLクエリの結果を制限する

は、識別子のいずれか一方を含むのみのデータセットに結果を制限することが可能ですか?

私は

SELECT * FROM ezpages_content WHERE LIKE "|party" NOT IN pages_title 

を試してみましたが、それは単に、構文エラーになります。それからの望ましい結果は、|costumeのすべてのデータを返すことでした。

フィールド内のエントリの一部を確認できるかどうかはわかりません。

答えて

2

あなたの条件について確認していますが、NOT LIKE

SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|party%" 
+1

ありがとう@JaydipJ。それは仕事をした:) –

1

を探しているかもしれない、私はあなたがフィールドのエントリの一部を確認することができる場合であってもよく分かりません。

あなたはLIKEまたはNOT LIKEと組み合わせ%ワイルドカード演算子を使用することができます。

正しい構文の例は2つあります。あなたはどちらを使用1あなたの期待される結果に依存します:

構文#1:SELECT * FROM ezpages_content WHERE pages_title LIKE "%|costume%"

構文#2:SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|party%"

|partyまたはその他の識別子があるかどうかにかかわらず、最初のクエリは結果を返します。|costumeがページタイトルに含まれています。 2番目のクエリは、ページタイトルに|partyが含まれていない場合に結果を返します。

0

大文字と小文字を区別せずに使用する方法はありません。最も簡単な、おそらく最高のパフォーマンスは、単にあなたが探しているもの

WHERE pages_title <> '|party' 
1

だろうMySQLでNOT LIKE演算子です。 に使用されていますを除いて、条件に一致する行がLIKE演算子に続いています。

SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|party%" 

を含む行を除外するには、|

だからあなたのクエリが(その中にパーティテキストを含む行を除外する)|このようになります。それに衣装テキストを、クエリは次のようになりますこれは、

SELECT * FROM ezpages_content WHERE pages_title NOT LIKE "%|costume%" 
関連する問題