在MySQL中,一个词的查询也匹配有特殊字符的词

In MySQL, query of a word also matches words with special characters

下面的查询应该匹配所有包含 'testa' 的评论,但它匹配 'testä',如下所示:

mysql> select comment from document where comment='testa';
+---------+
| comment |
+---------+
| testä   |
+---------+
1 row in set (0.00 sec)

如何只对字符串 'testa' 进行精确匹配,使其不显示匹配特殊字符的结果?

我想我有一个解决方案。您可以使用 convert(column_name using latin1)。请检查下面我的代码=>

CREATE TABLE document(
 comment  varchar(20)
);

Insert INTO document
SELECT 'testä';

Insert INTO document
SELECT 'testa';

select comment from document where convert(comment using latin1)='testa';

如果您想使用 COLLATE 那么 MySql 版本应该是描述中提到的 Akina 8.0。

注:请检查linkdbfiddle