我有 MySQL 数据库,数据库引擎 InnoDB,排序规则设置为 utf8-utf8_general_ci(也试过 utf8_unicode_ci)。我希望 db 平等对待 č 和 c、ž 和 z、ć 和 c、š 和 s、đ 和 d。 例如,
表 1
-------------
id | name
-------------
1 | mačka
2 | đemper
-------------
如果我运行查询:
SELECT * FROM table1 WHERE name LIKE '%mac%'
或者
SELECT * FROM table1 WHERE name LIKE '%mač%'
我会得到结果:
-------------
id | name
-------------
1 | mačka
没关系,这正是我想要的。
但是如果运行查询:
SELECT * FROM table1 WHERE name LIKE '%de%'
我得到零结果。
如果我运行查询:
SELECT * FROM table1 WHERE name LIKE '%đe%'
我会得到:
-------------
id | name
-------------
2 | đemper
这不是我想要也不期望的行为。我希望两个(最后两个查询)都返回:
-------------
id | name
-------------
2 | đemper
我怎样才能做到这一点?
感谢任何形式的帮助,提前致谢:)!
最佳答案
如果不使用正则表达式就无法做到这一点,因为 MySQL 中没有将 đ
等同于 d
的排序规则。
关于mysql - 克罗地亚语变音符号 MySQL DB - like 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5159599/