📚 目录
🛠️ 概述
LIKE
子句用于在 PostgreSQL 中执行模式匹配查询,尤其用于查找列中与指定模式匹配的字符串数据。LIKE
运算符允许使用通配符来匹配任意数量或单个字符。
📝 基本语法
LIKE
子句的基本语法如下:
SELECT column1, column2
FROM table_name
WHERE column_name LIKE pattern;
column_name
:需要进行匹配的列名。pattern
:指定的模式,可以包括通配符。
🔍 使用通配符 %
%
是一个通配符,用于匹配任意数量的字符(包括零个字符)。它是 LIKE
子句中最常用的通配符。
示例:
SELECT * FROM employees
WHERE name LIKE 'J%';
此查询返回所有名字以字母 J
开头的员工,如 John
、Jake
等。
示例:
SELECT * FROM employees
WHERE name LIKE '%son';
该查询返回所有名字以 son
结尾的员工,如 Wilson
、Jason
等。
🧑💻 使用通配符 _
_
是另一个通配符,用于匹配单个字符。与 %
不同,_
只匹配一个字符。
示例:
SELECT * FROM employees
WHERE name LIKE '_ohn';
此查询返回所有名字为 John
类型的员工,其中 _
匹配一个任意字符。
示例:
SELECT * FROM employees
WHERE name LIKE 'J__n';
该查询返回名字是 J
开头并以 n
结尾、且包含两个字符的员工,如 John
。
🧑💻 区分大小写与不区分大小写
在 PostgreSQL 中,LIKE
子句是区分大小写的。如果需要执行不区分大小写的模式匹配,可以使用 ILIKE
。
示例(区分大小写):
SELECT * FROM employees
WHERE name LIKE 'john';
此查询仅返回名字为 john
的员工(小写字母 j
)。
示例(不区分大小写):
SELECT * FROM employees
WHERE name ILIKE 'john';
该查询将返回名字为 john
、John
、JOHN
等的所有员工。
🚫 使用 NOT LIKE
NOT LIKE
用于查找不符合指定模式的记录。
示例:
SELECT * FROM employees
WHERE name NOT LIKE 'J%';
该查询返回所有名字不以 J
开头的员工。
📘 参考资料
- PostgreSQL 官方文档:LIKE
- 更多 PostgreSQL 查询技巧整理自:www.52kanjuqing.com
发表回复