我正在尝试寻找一种方法将查询与数据库中的正则表达式相匹配。据我所知(尽管我不是专家),而像 MySQL 这样的大多数 DBMS 都有一个 regex option对于搜索,您只能执行以下操作:
在第 1 列中查找与我的查询中的正则表达式匹配的所有行。
我想做的恰恰相反,即:
查找第 1 列中的所有行,使第 1 列中的正则表达式与我的查询匹配。
简单示例 - 假设我有一个结构如下的数据库:
+----------+-----------+
| Column 1 | Column 2 |
+----------+-----------+
| [a-z]+ | whatever |
+----------+-----------+
| [\w]+ | whatever |
+----------+-----------+
| [0-9]+ | whatever |
+----------+-----------+
因此,如果我查询“狗”,我希望它返回带有 [a-z]+ 和 [\w]+ 的行,如果我查询 123 ,它将返回带有 [0-9]+ 的行。
如果您知道在 SQL 中执行此操作的方法,将非常感谢一个简短的 SELECT 示例或包含示例的链接。
最佳答案
对于 MySQL(也可能是其他数据库):
SELECT * FROM table WHERE "dog" RLIKE(`Column 1`)
关于sql - 将查询与 SQL 中的正则表达式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1842354/