从MySQL中的regexp错误获取“无效字符类”

当我尝试在Adminer和Sequel Pro中执行以下查询时:

SELECT * FROM `sms_messages` WHERE `message` REGEXP '[^[:ascii:]]+'

我在MYSQL中遇到以下错误:

Error in query (1139): Got error 'invalid character class' from regexp

但是,它可以在我的本地计算机上运行,​​但不能在AWS RDS中运行。在本地,我已经使用MariaDB 10.1.37安装了XAMPP。我在AWS RDS中有MySQL 5.7.26引擎版本。怎么了?

zrzrzr0527 回答:从MySQL中的regexp错误获取“无效字符类”

REGEXP的{​​{3}}(5.7版本,而不是8.0)可以看出,没有受支持的[:ascii:]字符集。但是,我们可以使用以下十六进制范围匹配所有ASCII字符:

[\x00-\x7F]

您更新的查询:

SELECT *
FROM sms_messages
WHERE CONVERT(message USING BINARY) REGEXP '[^\x00-\x7F]';
本文链接:https://www.f2er.com/3145087.html

大家都在问