我正在尝试构建一个复杂的查询。我有一张桌子,在该表格中,我想使用match_count
添加一个人工字段SELECT *,match_count FROM
。那不是问题。问题是:我有几个正则表达式,我想用找到的每个正则表达式增加match_count。这些表达式将应用于表格的多个字段,例如param1 REGEXP "reg1"
和param2 REGEXP "reg2"
以及param1 REGEXP "reg3"
。可以重复使用列,也可以是表达式,但match_count字段应该与匹配的数量相对应。
如果可能的话,如果一列与正则表达式多次匹配,则匹配计数不会增加1,而是增加这些匹配的数量,这也很酷。
答案 0 :(得分:2)
您可以对REGEXP表达式的结果求和:
SELECT *,
param1 REGEXP "reg1" +
param2 REGEXP "reg2" +
param1 REGEXP "reg3" AS match_count
FROM
如果可能的话,如果一列与正则表达式多次匹配,则匹配计数不会增加1,而是增加这些匹配的数量,这也很酷。
我认为在MySQL中它是不可能的。但是,它可以用于许多通用语言。