我正在编写一个查询,该查询为我提供了与mysql中的正则表达式匹配的内容。我已经看到REGEX是我们用来提供正则表达式的类型,但是执行查询后我得到了一个错误。我没有为WHERE条件指定一列,因为我希望它在所有列中搜索我在做什么错了?
我编写了一个简单的查询,该查询从正则表达式匹配的表中返回*。
select * from job WHERE REGEXP '^4[0-9]{12}(?:[0-9]{3})?$';
预期输出将是具有其名称和列名称以及匹配的REGEX的整个行。但是我得到的错误是 Amazon无效操作:类型“ regexp”不存在; [SQL State = 42704,DB Errorcode = 500310]
答案 0 :(得分:0)
没有神奇的“搜索所有列”语法;您必须全部命名:
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