重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
--建议用这种写法,数据量大又需要模糊查询的时候,用instr函数效率比like要高很多
创新互联建站专注于企业网络营销推广、网站重做改版、永嘉网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站开发、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为永嘉等各大城市提供网站开发制作服务。
select b.id from table b
where (instr(b.context,'apple')=1 or instr(b.context,'banana')=1)
and instr(b.context,'strawberry')=0
;
如果您知道查询的第一个字母是什么,请尽量用一个百分号 例如 'XXX%'
您也可以用正则表达式来实现like功能。不过我估计你要学习几天才可以正则表达式的用法。当然正则表达式有时候也不见得比like速度快。
用关键字AND连接多个 like条件。
比如:
select * from TABLE where
字段1 like 'A%'
and
字段2 like '%B'
and
字段3 like '%C%';
这个语句的作用是 选则TABLE表里,字段1以A开头的,字段2以B结尾,且字段3含有字符C的所有记录。
用关键字and连接多个
like条件。
比如:
select
*
from
table
where
字段1
like
'a%'
and
字段2
like
'%b'
and
字段3
like
'%c%';
这个语句的作用是
选则table表里,字段1以a开头的,字段2以b结尾,且字段3含有字符c的所有记录。
LIKE 语句作用为字段的模糊查询,包含通配符,%代表任意个数字符,_代表一个字符,
示例如下,
1、创建测试表,create table test_like(id number, value varchar2(20));
2、插入样例数据,
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语句,查询包含字母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)
请自己确保 table2 的 b1 里面, 有 _ 或者 % 这样的匹配字符
否则最后一句
trim(table1.a1) like trim(table2.b1)
要修改为
trim(table1.a1) like '%' || trim(table2.b1) || '%'