PostgreSQL判断字符串是否包含目标字符串的多种方法

 更新时间:2021年02月23日 10:39:18   作者:L00918  
这篇文章主要介绍了PostgreSQL判断字符串是否包含目标字符串的多种方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

PostgreSQL判断字符串包含的几种方法:

方式一: position(substring in string):

position(substring in string)函数:参数一:目标字符串,参数二原字符串,如果包含目标字符串,会返回目标字符串笫一次出现的位置,可以根据返回值是否大于0来判断是否包含目标字符串

select position('aa' in 'abcd');
 position 
----------
    0
select position('ab' in 'abcd');
 position 
----------
    1
select position('ab' in 'abcdab');
 position 
----------
    1

方式二: strpos(string, substring)

strpos(string, substring)函数:参数一:原字符串,目标字符串,声明子串的位置,作用与position函数一致。

select position('abcd','aa');
 position 
----------
    0

select position('abcd','ab');
 position 
----------
    1

select 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
------
 f

select regexp_split_to_array('abcd','') @> array['a','b'] as result;
result
------
 t

注意下面这些例子:

select regexp_split_to_array('abcd','') @> array['a','a'] as result;
result
----------
 t

select regexp_split_to_array('abcd','') @> array['a','c'] as result;
result
----------
 t

select regexp_split_to_array('abcd','') @> array['a','c','a','c'] as result;
result
----------
 t

可以看出,数组的包含操作符判断的时候不管顺序、重复,只要包含了就返回true,在真正使用的时候注意。

到此这篇关于PostgreSQL判断字符串是否包含目标字符串的文章就介绍到这了,更多相关PostgreSQL判断字符串内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PostgreSQL教程(七):函数和操作符详解(3)

    PostgreSQL教程(七):函数和操作符详解(3)

    这篇文章主要介绍了PostgreSQL教程(七):函数和操作符详解(3),本文讲解了序列操作函数、条件表达式、数组函数和操作符、系统信息函数、系统管理函数等内容,需要的朋友可以参考下
    2015-05-05
  • postgresql数据库配置文件postgresql.conf,pg_hba.conf,pg_ident.conf

    postgresql数据库配置文件postgresql.conf,pg_hba.conf,pg_ident.conf

    这篇文章主要为大家介绍了postgresql数据库中三个重要的配置文件postgresql.conf,pg_hba.conf,pg_ident.conf使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • postgresql查询自动将大写的名称转换为小写的案例

    postgresql查询自动将大写的名称转换为小写的案例

    这篇文章主要介绍了postgresql查询自动将大写的名称转换为小写的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • PostgreSQL忘记postgres账号密码的解决方法

    PostgreSQL忘记postgres账号密码的解决方法

    这篇文章主要介绍了PostgreSQL忘记postgres账号的密码的解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • PostgreSQL 流复制配置环境搭建过程

    PostgreSQL 流复制配置环境搭建过程

    PostgreSQL 流复制是 9.0 提供的一种新的 WAL 传递方法,使用流复制时,每当 Primary 节点 WAL 产生,就会马上传递到 Standby 节点,流复制提供异步和同步两种模式,同步模式可以保障数据 0 丢失,这篇文章主要介绍了PostgreSQL 流复制搭建,需要的朋友可以参考下
    2023-09-09
  • 对postgresql日期和时间的比较

    对postgresql日期和时间的比较

    文章介绍了在数据库中处理日期和时间类型时的一些注意事项,包括如何将字符串转换为日期或时间类型,以及在比较时自动转换的情况,作者建议在使用数据库时,根据具体情况进行适当的类型转换,以避免潜在的错误
    2025-01-01
  • PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

    PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

    这篇文章介绍了PostgreSQL实现按年、月、日、周、时、分、秒分组统计的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • postgresql中wal_level的三个参数用法说明

    postgresql中wal_level的三个参数用法说明

    这篇文章主要介绍了postgresql中wal_level的三个参数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Navicat设置PostgreSQL数据库的表主键ID自增的方法

    Navicat设置PostgreSQL数据库的表主键ID自增的方法

    这篇文章主要介绍了Navicat设置PostgreSQL数据库的表主键ID自增的方法,文章通过图文结合的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-06-06
  • PostgreSQL pg_filenode.map文件介绍

    PostgreSQL pg_filenode.map文件介绍

    这篇文章主要介绍了PostgreSQL误删pg_filenode.map怎么办,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-09-09

最新评论