MySQL通过REGEXP匹配的数量增加字段

时间:2012-07-30 11:02:01

标签: mysql regex count match

我正在尝试构建一个复杂的查询。我有一张桌子,在该表格中,我想使用match_count添加一个人工字段SELECT *,match_count FROM。那不是问题。问题是:我有几个正则表达式,我想用找到的每个正则表达式增加match_count。这些表达式将应用于表格的多个字段,例如param1 REGEXP "reg1"param2 REGEXP "reg2"以及param1 REGEXP "reg3"。可以重复使用列,也可以是表达式,但match_count字段应该与匹配的数量相对应。

如果可能的话,如果一列与正则表达式多次匹配,则匹配计数不会增加1,而是增加这些匹配的数量,这也很酷。

1 个答案:

答案 0 :(得分:2)

您可以对REGEXP表达式的结果求和:

SELECT *,
    param1 REGEXP "reg1" +
    param2 REGEXP "reg2" +
    param1 REGEXP "reg3" AS match_count
FROM

  

如果可能的话,如果一列与正则表达式多次匹配,则匹配计数不会增加1,而是增加这些匹配的数量,这也很酷。

我认为在MySQL中它是不可能的。但是,它可以用于许多通用语言。