mysql - 克罗地亚语变音符号 MySQL DB - like 子句

标签 mysql

我有 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/

相关文章:

php - 将数学放入 sql 查询中

java - 启动应用程序之前远程数据库的 Spring 端口转发

MySQL 5.6/数据导出不起作用(转储数据)

mysql - 将列复制到另一个表

php - 内部连接的 group by 和 order by 子句的问题

java - EclipseLink 中的批量乐观锁定查询

MySQL存储过程、while循环、联合数据集

php - mysql, php , 相同的结果如何统计?

mysql - Rails ActiveRecord::Relation 未定义方法

php - 从日期时间计算加类时间