PostgreSQL判断字符串是否包含目标字符串的多种方法
PostgreSQL判断字符串包含的几种方法:
方式一:position(substringinstring):
position(substringinstring)函数:参数一:目标字符串,参数二原字符串,如果包含目标字符串,会返回目标字符串笫一次出现的位置,可以根据返回值是否大于0来判断是否包含目标字符串
selectposition('aa'in'abcd'); position ---------- 0 selectposition('ab'in'abcd'); position ---------- 1 selectposition('ab'in'abcdab'); position ---------- 1
方式二:strpos(string,substring)
strpos(string,substring)函数:参数一:原字符串,目标字符串,声明子串的位置,作用与position函数一致。
selectposition('abcd','aa'); position ---------- 0 selectposition('abcd','ab'); position ---------- 1 selectposition('abcdab','ab'); position ---------- 1
方式三:使用正则表达式
如果包含目标字符串返回t,不包含返回f
select'abcd'~'aa'asresult; result ------ f select'abcd'~'ab'asresult; result ------ t select'abcdab'~'ab'asresult; result ------ t
方式四:使用数组的@>操作符(不能准确判断是否包含)
selectregexp_split_to_array('abcd','')@>array['b','e']asresult; result ------ f selectregexp_split_to_array('abcd','')@>array['a','b']asresult; result ------ t
注意下面这些例子:
selectregexp_split_to_array('abcd','')@>array['a','a']asresult; result ---------- t selectregexp_split_to_array('abcd','')@>array['a','c']asresult; result ---------- t selectregexp_split_to_array('abcd','')@>array['a','c','a','c']asresult; result ---------- t
可以看出,数组的包含操作符判断的时候不管顺序、重复,只要包含了就返回true,在真正使用的时候注意。
到此这篇关于PostgreSQL判断字符串是否包含目标字符串的文章就介绍到这了,更多相关PostgreSQL判断字符串内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。