PostgreSQL 教程

查询

连接

高级部分

程序连接接口

PostgreSQL 笔记

postgresql 如何实现类似 startswith 的前缀匹配

PostgreSQL 常见问题收集 PostgreSQL 常见问题收集


在使用 PostgreSQL 中,如何实现类似 startswith 的前缀匹配,可以借助 like 实现,也可以结合 ~ 关键字和正则表达式实现。

推荐方式

在 sql 中,% 表示匹配任何字符 0 次或多次,它结合 like 一起使用,主要有两种形式:

  1. R% 匹配以 R 开头的字符串;
  2. %R 匹配以 R 结尾的字符串。

假若要匹配 content 字段中,以 <div> 开头的所有数据,具体示例如下:

SELECT * FROM article WHERE content LIKE '<div>%'

这里需要注意的是,like 语句大小写敏感,如果要忽略大小写,可以使用 ilike

另一种方式,可以利用正则表达式,需要 ~ 关键字,示例如下:

SELECT * FROM article WHERE content ~ '^[R]{1}[\s\w]*$'