Published 2022-06-07
Postgresql - LIKE
假如我们要查询 name
字段以 Jen
开通 的所有记录,可以这样写:
SELECT
first_name,
last_name
FROM
customer
WHERE
first_name LIKE 'Jen%';
%
匹配任意多个字符_
匹配一个字符
语法
value LIKE pattern [ESCAPE escape_character]
value NOT LIKE pattern [ESCAPE escape_character]
示例
SELECT
'foo' LIKE 'foo', -- true
'foo' LIKE 'f%', -- true
'foo' LIKE '_o_', -- true
'bar' LIKE 'b_'; -- false
- 第一个表达式返 true,因为该表达式不包含任何通配符,类似于
=
- 第二个表达式返 true,因为该表达式包含一个通配符,以
f
开头,后跟任意数量的字符 - 第三个表达式返 true,因为该表达式包含一个通配符,以
_
开头,匹配任何单个字符开通,后跟字幕o
并以任何单个字符结尾的字符串 - 第四个表达式返 false,因为该表达式包含一个通配符,以
b
开头,匹配任何单个字符开通,后跟字幕_
并以任何单个字符结尾的字符串
例如,查询返回名字包含er
字符串的所有记录:
SELECT
first_name,
last_name
FROM
customer
WHERE
first_name LIKE '%er%'
ORDER BY
first_name;
%
与_
的使用
SELECT
first_name,
last_name
FROM
customer
WHERE
first_name LIKE '_her%'
ORDER BY
first_name;
Operator | Equivalent |
---|---|
~~ | LIKE |
~~* | ILIKE |
!~~ | NOT LIKE |
!~~* | NOT ILIKE |
Comments
No Comments!