regex - PostgreSQL 查找字符串包含确切字符串的位置

标签 regex postgresql

我有一个包含以下值的表:

  • “人力资源主管”
  • “管理协助”

如果我有像“hr”这样的字符串,我想找到“人力资源主管”这一行。 一个简单的“LIKE %hr%”不够精确,因为也会找到字符串包含“hr”的其他行。 我想我需要某种正则表达式。

也许有人可以给我提示,如何写。

谢谢 亚历克斯

最佳答案

使用

WHERE col ~ '\yHR\y'

\yHR\y 正则表达式将匹配一个 HR 作为一个完整的单词(\y 是一个单词边界,它匹配单词的开头或结尾)。

Rextester demo :

CREATE TABLE tabl1
    (s character varying)
;

INSERT INTO tabl1
    (s)
VALUES
    ('Head of HR'),
    ('Assistance of management'),
    ('CHROME')
;

select * from tabl1 where s ~ '\yHR\y';

结果:

enter image description here

关于regex - PostgreSQL 查找字符串包含确切字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899148/

相关文章:

sql - 计算重复率队列的百分比

sql - 在 PostgreSQL 中安装 PL/Perl

python - SQLAlchemy 中使用什么类型来存储字节串?

javascript - 在 JavaScript 中从字符串的开头到结尾删除 HTML 内容组

c++ - std::regex_replace 给了我意想不到的结果

php - 数据库表中的正则表达式搜索和替换

postgresql - 如何从 .sql postgresql 备份恢复单个表?

javascript - 是否有在字符串中创建转义字符的模式?

java - SPeL 返回子字符串而不是 boolean 值的正则表达式

PostgreSQL INSERT INTO production table FROM staging 表