PostgreSQL判断字符串是否包含目标字符串的多种方法
导读:收集整理的这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,觉得挺不错的,现在分享给大家,也给大家做个参考。 PostgreSQL判断字符串包含的几种方法:方...
收集整理的这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,觉得挺不错的,现在分享给大家,也给大家做个参考。 PostgreSQL判断字符串包含的几种方法:
方式一: posITion(substring in string):
position(substring in string)函数:参数一:目标字符串,参数二原字符串,如果包含目标字符串,会返回目标字符串笫一次出现的位置,可以根据返回值是否大于0来判断是否包含目标字符串
select position('aa' in 'abcd');
position ---------- 0select position('ab' in 'abcd');
position ---------- 1select position('ab' in 'abcdab');
position ---------- 1方式二: strpos(string, substring)
strpos(string, substring)函数:参数一:原字符串,目标字符串,声明子串的位置,作用与position函数一致。
select position('abcd','aa');
position ---------- 0select position('abcd','ab');
position ---------- 1select position('abcdab','ab');
position ---------- 1方式三:使用正则表达式
如果包含目标字符串返回t,不包含返回f
select 'abcd' ~ 'aa' as result;
result------ f select 'abcd' ~ 'ab' as result;
result------ t select 'abcdab' ~ 'ab' as result;
result------ t 方式四:使用数组的@> 操作符(不能准确判断是否包含)
select regexp_split_to_array('abcd','') @>
array['b','e'] as result;
result------ fselect regexp_split_to_array('abcd','') @>
array['a','b'] as result;
result------ t注意下面这些例子:
select regexp_split_to_array('abcd','') @>
array['a','a'] as result;
result---------- tselect regexp_split_to_array('abcd','') @>
array['a','c'] as result;
result---------- tselect regexp_split_to_array('abcd','') @>
array['a','c','a','c'] as result;
result---------- t可以看出,数组的包含操作符判断的时候不管顺序、重复,只要包含了就返回true,在真正使用的时候注意。
到此这篇关于PostgreSQL判断字符串是否包含目标字符串的文章就介绍到这了,更多相关PostgreSQL判断字符串内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:- Postgresql 截取字符串的案例
- postgresql 查询集合结果用逗号分隔返回字符串处理的操作
- postgresql 查询字符串中是否包含某字符的操作
- PostgreSQL 使用raise函数打印字符串
- PostgreSQL 字符串拆分与合并案例
- postgreSQL 数字与字符串类型转换操作
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: PostgreSQL判断字符串是否包含目标字符串的多种方法
本文地址: https://pptw.com/jishu/633298.html
