我有一个包含正则表达式的表,我需要用它来过滤来自另一个表的行。
像这样的东西:
SELECT *
FROM a
WHERE foo SIMILAR TO '(SELECT regex FROM b)'
显然,这行不通,因为这不是语法,而且 b
中有多行我需要遍历。
我正在使用 PostgreSQL 8.3。
最佳答案
也许做一个连接会起作用?例如
SELECT a.*, b.regex
FROM a JOIN b ON a.foo ~ b.regex
恐怕我对 Postgres 不够熟悉,无法肯定地说,但这将是 SQL 中遍历行的普通方式。如果匹配多个正则表达式,它应该多次返回 a.foo。
关于sql - 使用存储在表中的正则表达式作为 SQL 查询的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9591554/