我正在编写一个查询,让我在mysql中找到与我的正则表达式匹配的内容。我已经看到REGEX是我们用来给出正则表达式的类型,但是在执行查询之后,我得到了一个错误。我没有为WHERE条件指定列,因为我希望它在所有列中搜索,我做错了什么?
我已经编写了一个简单的查询,它从正则表达式匹配的表中返回*。
select * from job WHERE REGEXP '^4[0-9]{12}(?:[0-9]{3})?$';
对于匹配的REGEX,预期的输出是包含其名称和列名的整行。但我得到的错误是亚马逊无效操作:类型"regexp“不存在;SQL State=42704,DB Errorcode=500310
发布于 2019-06-13 23:33:55
没有神奇的“搜索所有列”语法;您必须将它们全部命名:
select * from job
WHERE col1 REGEXP '^4[0-9]{12}(?:[0-9]{3})?$'
OR col2 REGEXP '^4[0-9]{12}(?:[0-9]{3})?$'
OR col3 ... etc
https://stackoverflow.com/questions/56589552
复制