我有以下问题(使用mysql 5.0.70)。MySQL查询与类似%..%在where子句返回不同的结果
在一个表我有一个包含某种一些,喜欢的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?或者我应该在插入/更新数据库之前转换用户输入?
是的,“看起来像”正是我正在寻找:) – mmartinov 2009-06-15 13:43:15