在我的SQL中使用正则表达式获取错误

时间:2019-06-13 23:07:38

标签: mysql regex

我正在编写一个查询,该查询为我提供了与mysql中的正则表达式匹配的内容。我已经看到REGEX是我们用来提供正则表达式的类型,但是执行查询后我得到了一个错误。我没有为WHERE条件指定一列,因为我希望它在所有列中搜索我在做什么错了?

我编写了一个简单的查询,该查询从正则表达式匹配的表中返回*。

select * from job WHERE REGEXP '^4[0-9]{12}(?:[0-9]{3})?$';

预期输出将是具有其名称和列名称以及匹配的REGEX的整个行。但是我得到的错误是 Amazon无效操作:类型“ regexp”不存在; [SQL State = 42704,DB Errorcode = 500310]

1 个答案:

答案 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