PostgreSQL 判断字符串包含
在PostgreSQL中,可以使用LIKE
,ILIKE
,POSITION
,CONTAINS
或LIKE
操作符来判断一个字符串是否包含另一个字符串。
- 使用
LIKE
或ILIKE
:
LIKE
是大小写敏感的,而ILIKE
是大小写不敏感的。
SELECT * FROM table_name WHERE column_name LIKE '%search_string%';
或者
SELECT * FROM table_name WHERE column_name ILIKE '%search_string%';
- 使用
POSITION
函数:
POSITION(substring IN string)
返回子串在字符串中第一次出现的位置,如果没有找到,返回0
。
SELECT * FROM table_name WHERE POSITION('search_string' IN column_name) > 0;
- 使用
CONTAINS
函数(需要使用自然语言处理模块pg_trgm
):
SELECT * FROM table_name WHERE CONTAINS(column_name, 'search_string');
注意:在使用CONTAINS
函数之前,你需要安装并启用pg_trgm
模块。
- 使用
LIKE
或ILIKE
与ANY
或ALL
(用于匹配多个子串):
SELECT * FROM table_name WHERE column_name LIKE ANY ('{%search_string1,search_string2%}');
以上是判断字符串是否包含的常用方法,你可以根据实际需求选择合适的方法。
评论已关闭