ORDER BY 不按字母顺序排序

ORDER BY doesn't sort alphabetically

我使用以下 MySQL 查询来获取结果,按名称字母顺序排序:

SELECT * FROM `client` WHERE CONCAT(name, ', ', firstname) LIKE "%ti%" ORDER BY name

结果以某种方式排序,因此 ORDER BY 有效。不幸的是,它没有按预期工作。上面的查询给出了以下顺序,例如:

Kostic (31)
Hatscher (30)

为什么科斯蒂奇排在第一位?证明我错了,但 K 在字母表中位于 H 之后......(如果有帮助 - 名称字段是 varchar 类型。)

我知道在 ORDER BY 中未指定时 ASC 是默认值,但您是否尝试过将 ASC 放在.. ORDER BY 名称 ASC 之后。值得一试

ORDER BY nameK应该不可能排在H之前。可能前面是空白,甚至是一些不可打印的字符?

测试:

  • 添加AND name like 'K%'时得到'Kostic (31)'吗?
  • 当你添加 AND name like 'H%' 时你得到 'Hatscher (30)' 吗?