我有一张这样的表:
id: 1
pattern: /test.*
id: 2
pattern: /hello-world
此输入值:/test-request
现在我想为给定的输入创建一个查询,postgres应返回行,其中第二列的模式与输入匹配(正则表达式搜索,但正则表达式在搜索字段中)
这可以用postgres数据库吗?
答案 0 :(得分:6)
您可以为正则表达式运算符使用列值:
select id, pattern
from patterns
where '/test-request' ~* pattern;
~*
执行不区分大小写的匹配,~
执行区分大小写的匹配。
SQLFiddle示例:http://sqlfiddle.com/#!15/388a4/2