我有以下问题(使用 mysql 5.0.70)。
在一个表中,我有一个varchar
包含某种数字的字段,例如:
"0303A342", "21534463", "35663CE3"
等排序规则设置为utf8_general_ci
。
当系统的用户试图搜索包含该号码的一部分的记录时,就会出现问题。SQL查询看起来像
...
WHERE 'number' LIKE '%0303A%'
现在,如果 LIKE 部分中的“A”作为Latin
A 输入,则结果仅包含其中带有Latin
A 的记录——正如它应该的那样。而当 A 为 时Cyrillic
,结果再次只是那些包含Cyrillic
A 的行。还有许多其他字母,如 E、C、B、T 等。
现在我的问题是,如果有一种方法可以修改我的 sql 查询,使其返回与该LIKE '%0303A%'
部分匹配的所有行,但对于其中的所有类型的 A`s?或者我应该在插入/更新数据库之前转换用户输入?