--建議用這種寫法,數(shù)據(jù)量大又需要模糊查詢的時(shí)候,用instr函數(shù)效率比like要高很多
創(chuàng)新互聯(lián)建站專注于企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣、網(wǎng)站重做改版、永嘉網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5高端網(wǎng)站建設(shè)、商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為永嘉等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
select?b.id?from?table?b
where?(instr(b.context,'apple')=1?or?instr(b.context,'banana')=1)
and?instr(b.context,'strawberry')=0
;
如果您知道查詢的第一個(gè)字母是什么,請(qǐng)盡量用一個(gè)百分號(hào) 例如 'XXX%'
您也可以用正則表達(dá)式來(lái)實(shí)現(xiàn)like功能。不過(guò)我估計(jì)你要學(xué)習(xí)幾天才可以正則表達(dá)式的用法。當(dāng)然正則表達(dá)式有時(shí)候也不見得比like速度快。
用關(guān)鍵字AND連接多個(gè) like條件。
比如:
select * from TABLE where
字段1 like 'A%'
and
字段2 like '%B'
and
字段3 like '%C%';
這個(gè)語(yǔ)句的作用是 選則TABLE表里,字段1以A開頭的,字段2以B結(jié)尾,且字段3含有字符C的所有記錄。
用關(guān)鍵字and連接多個(gè)
like條件。
比如:
select
*
from
table
where
字段1
like
'a%'
and
字段2
like
'%b'
and
字段3
like
'%c%';
這個(gè)語(yǔ)句的作用是
選則table表里,字段1以a開頭的,字段2以b結(jié)尾,且字段3含有字符c的所有記錄。
LIKE 語(yǔ)句作用為字段的模糊查詢,包含通配符,%代表任意個(gè)數(shù)字符,_代表一個(gè)字符,
示例如下,
1、創(chuàng)建測(cè)試表,create table test_like(id number, value varchar2(20));
2、插入樣例數(shù)據(jù),
insert into test_like values (1001,'abcd');
insert into test_like values (1002,'cdef');
insert into test_like values (1003,'fgh');
insert into test_like values (1004,'acdfg');
commit;
3、查詢所有記錄,select t.*, rowid from test_like t,
4、編寫like語(yǔ)句,查詢包含字母a的記錄,select t.*, rowid from test_like t where value like '%a%';
select
DISTINCT
table1.a1,
table1.a2,
table1.a3
from
table1, table2
where
trim(table1.a1) like trim(table2.b1)
請(qǐng)自己確保 table2 的 b1 里面, 有 _ 或者 % 這樣的匹配字符
否則最后一句
trim(table1.a1) like trim(table2.b1)
要修改為
trim(table1.a1) like '%' || trim(table2.b1) || '%'