我現在有下面的代碼。 我正在從UI獲取字符串列表,如下所示。該列表有3個字符串,如下所示。像在oracle中搜索一樣嗎?
happy%
%hai
%hello%
現在我循環所有3個字符串並獲取匹配字符串並將它們添加到最終列表如下。
for(int i=0;i<list.size;i++){
//query to perform like search...
}
我的問題是,而不是發射一個單獨的查詢,我怎麼能包括他們在一個單一的查詢?
謝謝!
我現在有下面的代碼。 我正在從UI獲取字符串列表,如下所示。該列表有3個字符串,如下所示。像在oracle中搜索一樣嗎?
happy%
%hai
%hello%
現在我循環所有3個字符串並獲取匹配字符串並將它們添加到最終列表如下。
for(int i=0;i<list.size;i++){
//query to perform like search...
}
我的問題是,而不是發射一個單獨的查詢,我怎麼能包括他們在一個單一的查詢?
謝謝!
您可以使用OR
運營商與三根琴絃,你越來越像
where name like 'happy%' or name like '%appy' or name like '%ppy%'
你可以做幾次查詢取決於需求。如果所有三個需要在結果然後使用AND
像這樣:
SELECT st
FROM SampleTable st
WHERE (st.col1 LIKE 'happy%') AND (st.col2 LIKE '%hai')
AND (st.col3 LIKE '%hello%')
您還可以使用OR
,或者你可以混合和匹配兩個。 OR
的工作方式與之前結果中的AND
相同,在編寫複雜查詢時,父級幫助有所幫助。
此外,還可以使用關鍵字NOT
排除了一定的成績,這可以看起來像這樣:
SELECT st
FROM SampleTable st
WHERE (st.col1 LIKE 'happy%') AND (st.col2 NOT LIKE '_hai')
注:_
是一個字符匹配,而%
是很多。
這裏不能使用regexp_like函數嗎?謝謝! – user1016403
我沒有收到你。 – Abubakkar
oracle中有一個名字爲regexp_like()的函數。我可以在這裏使用它嗎? – user1016403