【发布时间】:2017-07-12 14:20:49
【问题描述】:
问题:用户输入%%搜索连续包含两个百分号的文本。应用程序将其转换为条件... LIKE '%\\%\\%%'。数据库返回错误的结果。
我设法将问题缩小到整理范围。在多个 MySQL 和 MariaDB 版本上进行了测试,下面的两个查询评估不同。我试图阅读 LIKE 运算符和排序规则,但找不到任何可以解释差异的内容。
SELECT '%' COLLATE utf8_czech_ci LIKE '%\\%\\%%';
结果:TRUE
SELECT '%' COLLATE utf8_general_ci LIKE '%\\%\\%%';
结果:FALSE
【问题讨论】:
-
@bodi0,可能,但百分号肯定与任何国家字母表无关(至少与捷克字母表无关),是吗?