regex 在SQL中将查询与正则表达式匹配?

nwsw7zdq  于 2023-10-22  发布在  其他
关注(0)|答案(2)|浏览(120)

我正在试图找到一种方法来匹配查询到数据库中的正则表达式。据我所知(虽然我不是Maven),虽然大多数DBMS(如MySQL)都有一个regex option用于搜索,但你只能做这样的事情:

  • 查找第1列中与查询中的正则表达式匹配的所有行。*

我想做的是相反的,即:

  • 查找列1中的所有行,使列1中的正则表达式匹配我的查询。*

简单的例子-假设我有一个这样结构的数据库:

+----------+-----------+  
| Column 1 |  Column 2 |
+----------+-----------+
|  [a-z]+  |  whatever |
+----------+-----------+
|  [\w]+   |  whatever |
+----------+-----------+
|  [0-9]+  |  whatever |
+----------+-----------+

因此,如果我查询**“dog”,我希望它返回带有[a-z]+和[\w]+的行,如果我查询123**,它将返回带有[0-9]+的行。
如果你知道一种在SQL中实现这一点的方法,一个简短的SELECT示例或一个示例链接将非常受欢迎。

zf2sa74q

zf2sa74q1#

对于MySQL(也可能是其他数据库):

SELECT * FROM table WHERE "dog" RLIKE(`Column 1`)
qgelzfjb

qgelzfjb2#

PostgreSQL中,它是:

SELECT * FROM table WHERE 'dog' ~ "Column 1";

相关问题