sql - 将查询与 SQL 中的正则表达式匹配?

标签 sql regex pattern-matching database

我正在尝试寻找一种方法将查询与数据库中的正则表达式相匹配。据我所知(尽管我不是专家),而像 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/

相关文章:

mysql - 如何将一列变成多列

python - 如何在正则表达式中使用 OR

java - 正则表达式 - 为什么这允许空格?

java - Android正则表达式从网站抓取图像url

sql - 忽略 WHERE 子句中的特殊字符

sql - 许多相交的 ST_ExteriorRing(圆)上的 ST_Union()与 ST_Node(ST_Collect())

mysql - MySQL 的另一个问题 - 简单的注册表显示空白屏幕,没有错误

c# - 通过 C# 转义 SQL INSERT INTO 中的特殊字符

python - 如何使用正则表达式替换Python字典中的字符串

r - 如果匹配定义的长度则更改 NA 值