2011-08-19 333 views
2

我有以下查詢:排序ASC返回奇怪的結果

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

解決方案:一個隱藏的空間是在結果 - >中使用的微調功能

+1

嗯......也許你在這一列上使用了一些奇特的排序規則? :) – Karolis

+0

排序規則:utf8_general_ci,字符集:utf-8 – Tarek

回答

9

我會檢查前幾行,看看標題前面是否有隱藏的字符。

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

+1,但我會檢查所有行,特別是(1517,Abracadabra Sonia)。 – MatBailie

+0

是的,這是一個想法。這些角色是唯一不可見的角色嗎? – Karolis

+0

我有一個空間...修正它通過添加修剪功能 – Tarek

1

也許你沒有使用你想要的排序規則。根據數據庫的排序規則,字符串的排列順序不同。