是否将查询与SQL中的正则表达式匹配?
我试图找到一种方法,将查询与数据库中的正则表达式相匹配。据我所知,虽然我不是专家,但大多数数据库管理系统(如MySQL)都有搜索功能,但您只能执行以下操作: 查找第1列中与我的查询中的正则表达式匹配的所有行 我想做的恰恰相反,即: 查找第1列中的所有行,以便第1列中的正则表达式与我的查询匹配 简单示例-假设我有一个这样结构的数据库:是否将查询与SQL中的正则表达式匹配?,sql,regex,pattern-matching,database,Sql,Regex,Pattern Matching,Database,我试图找到一种方法,将查询与数据库中的正则表达式相匹配。据我所知,虽然我不是专家,但大多数数据库管理系统(如MySQL)都有搜索功能,但您只能执行以下操作: 查找第1列中与我的查询中的正则表达式匹配的所有行 我想做的恰恰相反,即: 查找第1列中的所有行,以便第1列中的正则表达式与我的查询匹配 简单示例-假设我有一个这样结构的数据库: +----------+-----------+ | Column 1 | Column 2 | +----------+-----------+ | [a
+----------+-----------+
| Column 1 | Column 2 |
+----------+-----------+
| [a-z]+ | whatever |
+----------+-----------+
| [\w]+ | whatever |
+----------+-----------+
| [0-9]+ | whatever |
+----------+-----------+
因此,如果我查询dog,我希望它返回带有[a-z]+和[\w]+的行,如果我查询123,它将返回带有[0-9]+的行
如果您知道在SQL中执行此操作的方法,请提供简短的SELECT示例或示例链接。对于MySQL,也可能是其他数据库:
SELECT * FROM table WHERE "dog" RLIKE(`Column 1`)
在这方面:
SELECT * FROM table WHERE 'dog' ~ "Column 1";
Oracle直到10g才支持regex,SQL Server在v2005中增加了支持。据我所知,没有ANSI标准语法-regex是,但用于执行此操作的函数在供应商之间会有所不同。太棒了!感谢您的快速回复。只是一个快速更新-我发现只有在MySQL中这样构造查询时,它才起作用:从table WHERE dog RLIKEColumn 1中选择*在Rails活动记录查询界面中,您将如何执行此操作?您可能需要将此作为单独的问题发布。