由ASC下令返回奇怪的结果

时间:2011-08-19 15:15:48

标签: mysql sql sql-order-by

我有以下查询:

SELECT
x.id,x.title
FROM `x`
WHERE  `x`.status = 'validated'
ORDER BY `x`.title ASC

结果:

3042    Cinéastes en herbe Télé-Québec
1681    Danse contemporaine
2725    Dessins, peinture et illustrations. 
2448    Les petits mots de Paolo
641     Ma tente à lire et les Mosaïques dans la rue
3215    Performance & Visites commentées
2186    Se partager l’espace : Yann Pocreau 
2364    Souper communautaire 
1223    100 ans
199     100% couleurs
2794    125 ans de tourisme à Laval
2306    À court de souffle!
1517    Abracadabra Sonia
2477    Atelier ouvert
335     Au bout du fil
2362    Au coeur de notre mémoire
2489    Bientôt 100 ans!
2275    Café historique 
1838    Rencontre avec 

我错过了什么吗?为什么标题没有正确排序?

有关信息:

整理: utf8_general_ci

字符集: utf-8

解决方案:结果中隐藏的空间 - >使用了修剪功能

2 个答案:

答案 0 :(得分:9)

我会查看前几行,看看标题前面是否有隐藏的字符。

SELECT
    ASCII(SUBSTRING(x.title, 1, 1))
FROM
    x
WHERE
    x.id IN (3042, 1681)

答案 1 :(得分:1)

也许你没有使用你想要的整理。根据数据库的排序规则,字符串的排序方式不同。