PostgreSQL找到字符串包含精确字符串的位置

时间:2017-08-26 19:53:27

标签: regex postgresql

我有一个表格,其中包含以下值:

  • "人力资源主管"
  • "管理层协助"

如果我有像" hr"我想找到一排" HR"的负责人。 一个简单的" LIKE%hr%"不够精确,因为其他行的字符串包含" hr"也会被发现。 我想我需要某种正则表达式。

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

由于 亚历

1 个答案:

答案 0 :(得分:5)

使用

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