PostgreSQL 模式匹配(正则和LIKE)
在PostgreSQL中,模式匹配可以通过正则表达式或LIKE操作符来实现。
- 使用正则表达式的
~
操作符或!~
操作符:
-- 查找name字段中包含'abc'的记录
SELECT * FROM your_table WHERE name ~ 'abc';
-- 查找name字段中不包含'abc'的记录
SELECT * FROM your_table WHERE name !~ 'abc';
- 使用LIKE操作符:
-- 查找name字段中以'a'开头的记录
SELECT * FROM your_table WHERE name LIKE 'a%';
-- 查找name字段中以'b'结尾的记录
SELECT * FROM your_table WHERE name LIKE '%b';
-- 查找name字段中包含'abc'的记录
SELECT * FROM your_table WHERE name LIKE '%abc%';
在正则表达式中,%
代表任意数量的任意字符,而在LIKE操作符中,%
也代表任意数量的任意字符。两者在此基础上还可以使用_
来匹配单个任意字符。
- 使用
ILIKE
操作符进行大小写不敏感的匹配:
-- 查找name字段中以'a'开头的记录(大小写不敏感)
SELECT * FROM your_table WHERE name ILIKE 'a%';
以上代码展示了如何在PostgreSQL中使用正则表达式和LIKE操作符进行模式匹配。
评论已关闭