Hej.
har följande sql-fråga:
SELECT username FROM user ORDER BY username;
Resultatet:
1
Mia
iii2
jme
Kan jag på nåt sätt få MySql att köra en case insensitive på de där så att resultatet blir:
1
iii2
jme
Mia
9 svar · 340 visningar · startad av jme
Hej.
har följande sql-fråga:
SELECT username FROM user ORDER BY username;
Resultatet:
1
Mia
iii2
jme
Kan jag på nåt sätt få MySql att köra en case insensitive på de där så att resultatet blir:
1
iii2
jme
Mia
Ute på ljupt vatten. Hittade detta:
On character type columns, sortinglike all other comparison operationsis normally per- formed in a case-insensitive fashion. This means that the order will be undened for columns that are identical except for their case. You can force a case-sensitive sort by using the BINARY cast: ORDER BY BINARY(field). To sort in reverse order, add the DESC (descending) keyword to the name of the column you are sorting by
Det blir fortfarande samma resultat, hmm.
japp och vad jag vet så körs alla frågor i MySql som default med ASC.
Har denna typen på ett flertal sidor med gott resultat.
Select users From TABLE Order By NAME ASC", conn, 3, 3
Läs även i manualen hur det är tänkt att fungera:
http://dev.mysql.com/doc/refman/5.0/en/sorting-rows.html
Speciellt dessa stycke:
On character type columns, sorting — like all other comparison operations — is normally performed in a case-insensitive fashion. This means that the order is undefined for columns that are identical except for their case. You can force a case-sensitive sort for a column by using BINARY like so: ORDER BY BINARY col_name.
The default sort order is ascending, with smallest values first. To sort in reverse (descending) order, add the DESC keyword to the name of the column you are sorting by
" You can force a case-sensitive sort for a column by using BINARY like so: ORDER BY BINARY col_name."
Äsch, läste fel då. Men jag vet inte varför det inte funkar.
Aha! Jag hade latin1_bin som collation. Ändrade det till latin1_swedish... och nu blir det rätt.
EDIT: är kanske bättre att köra med latin1_general_ci