彻底搞懂PostgreSQL的模糊查询:LIKE和ILIKE
如果我们使用的是PostgreSQL数据库,那么我们可以使用LIKE和ILIKE做模糊查询,LIKE语法是SQL标准而ILIKE是PostgreSQL的一个扩展。
构造数据
先创建一张表,然后插入一些数据;
create table test(
id serial,
name varchar(16)
);
my_test_db=#select * from test;
id | name
----±--------
1 | One
2 | Two
3 | One_Two
4 | One/Two
5 | oNE
6 | 99%
(6 rows)
基本使用
在使用 LIKE/ILIKE 时,有两个通配符:百分号 (%) 和下划线 (_)
% - 匹配任何零个或多个字符
_ - 匹配单个任意字符
先看一下这个的查询:
my_test_db=#select * from test where name like ‘O%’;
id | name
----±--------
1 | One
3 | One_Two
4 | One/Two
(3 rows)
这个语句匹配所有以 O 打头的数据。
下面查询使用通配符 _
my_test_db=#select * from test where name like ‘n’;
id | name
----±-----
1 | One
(1 row)
上面都是使用LIKE做模糊匹配,现在我们用一下ILIKE(除了不区分大小写外,