MySQL - 通过模式选择行

时间:2016-10-28 15:19:54

标签: mysql sql regex

使用以下patterns表:

|   id   |   pattern                                                     |
--------------------------------------------------------------------------
|   0    |   date in {int} day|days|week|weeks|month|months|year|years   |

如您所见,行0中的模型模式希望第三个单词是一个整数,第四个单词与所述集合中的一个匹配。

如果给出一个输入的句子,我将如何选择与pattern字段中存在的某种类型的正则表达式相匹配的行(类似于我上面所表达的方式),例如。

select * from patterns where match(pattern, 'date in 25 weeks');

# result - row with id: 0

由于

2 个答案:

答案 0 :(得分:1)

您可以在查询中使用正则表达式。有documentation可用。

答案 1 :(得分:0)

您可以在正则表达式中重写模式,然后以这种方式构建查询:

SELECT * FROM patterns WHERE 'date in 25 weeks' REGEXP pattern;