1 like 作用
在 where 子句中使用 like 运算符来搜索列中的指定模式。
有两个通配符与 like 运算符一起使用:
- % - 百分号表示零个,一个或多个字符
- _ - 下划线表示单个字符
注:也同时支持正则表达式。
2 like 语法
select column1, column2, ...
from table_name
where columnn like pattern;
提示:您还可以使用 and 或 or 运算符组合任意数量的条件。
下面是一些使用'%'和'_'通配符显示不同 like 运算符的例子:
LIKE 运算符 | 描述 |
where 地址 LIKE 'a% | 查找以“a”开头的任何值 |
where 地址 LIKE '%a' | 查找以“a”结尾的任何值 |
where 地址 LIKE '%or%' | 在任何位置查找任何具有“or”的值 |
where 地址 LIKE '_r%' | 在第二个位置查找任何具有“r”的值 |
where 地址 LIKE 'a_%_%' | 查找以“a”开头且长度至少为 3 个字符的值 |
where 地址 LIKE 'a%o' | 找到以"a"开头,以"o"结尾的值 |
示例数据
CREATE TABLE customers_1 (id bigint,name character varying(64),addr character varying(128),city character varying(64),zip character varying(64),province character varying(64)
);insert into
customers_1 (id, name, addr, city, zip, province)
values
(1,'鲁智深','北京路27号','平凉','200000','甘肃省'),
(2,'李四','南京路12号','杭州','310000','浙江市'),
(3,'王五','花城大道17号','广州','510000','广州省'),
(4, '马六','江夏路19号','武汉','430000','湖北省'),
(5,'赵七','西二旗12号' ,'北京','100000','北京市'),
(6,'宋一','花城大道21号','广州','510000','广东省'),
(7,'刘二','长安街 121号','北京', '100000','北京市'),
(8,'宋江','梁山路1号','济南','250000','山东省'),
(null,'武松',null,'邢台', null,'河北省'),
(10,'韩信','梁山路1号','渝东','250001','四川省'),
(11,'吕不韦','梁山路1号','渝中', '250001','四川省');
3 like 运算符实例
以下 sql 语句选择以“花”开头的“地址”的所有客户:
代码示例:
select * from customers_1 where 地址 like '花%';
结果:
select * from customers_1 where province like '%省';
结果:
以下 sql 语句选择客户地址在第三位具有"路"的所有客户:
select * from customers_1 where addr like '__路%';
注意:这里路前面有两个_
结果:
以下 sql 语句选择客户地址以“花”开头且长度至少为 3 个字符的所有客户:
select * from customers_1 where addr like '花___%';
结果:
以下 sql 语句选择联系人地址以“北”开头并以“号”结尾的所有客户:
select * from customers_1 where addr like '北%号'
结果:
以下 sql 语句选择客户地址不以“北”开头的所有客户:
select * from customers_1 where addr not like '北%';
结果:
4 批注
like 关键字主要作用就是模糊匹配,把你不是太明确的数据通过%,_进行组合来搜
索到大概的数据。通过分析大概的数据进一步找到你需要的数据。在查找数据中经
常用到,而且用法也很灵活。