2

私は今以下のコードを持っています。以下のようにUIから文字列のリストを取得しています。リストには、以下に示すように3つの文字列があります。

happy%
%hai
%hello%

現在、3つの文字列すべてをループして、一致する文字列を取得し、以下のように最終リストに追加しています。

for(int i=0;i<list.size;i++){
//query to perform like search...
}

私の質問は、個別のクエリを実行する代わりに、それらを単一のクエリに含めるにはどうすればよいですか?

ありがとう!

4

2 に答える 2

3

ORあなたが得ているその3つの文字列で演算子を使用することができます

where name like 'happy%' or name like '%appy' or name like '%ppy%'

于 2012-10-15T13:18:41.073 に答える
1

要件に応じて、複数のクエリを実行できます。3 つすべてが結果に含まれる必要がある場合は、次のANDように使用します。

SELECT st 
FROM SampleTable st 
WHERE ( st.col1 LIKE 'happy%' ) AND ( st.col2 LIKE '%hai' )
AND ( st.col3 LIKE '%hello%' )

を使用することも、2 つを組み合わせて使用​​することもできORます。は前の結果の とOR同じように機能し、AND括弧は複雑なクエリを記述するときに役立ちます。

さらに、NOTキーワードを使用して、次のように特定の結果を除外できます。

SELECT st 
FROM SampleTable st 
WHERE ( st.col1 LIKE 'happy%' ) AND ( st.col2 NOT LIKE '_hai' )

注: _は 1 文字の一致用ですが、 は複数の文字の一致%用です。

于 2012-10-15T13:46:33.627 に答える