Kan men de manier wijzigen waarop karktervelden gesorteerd worden in mysql-tabel?
Ik bedoel niet met DESC, maar mogelijk met het instellen van de kenmerken van dit karakterveld?
maar mogelijk met het instellen van de kenmerken van dit karakterveld?
1) Wat is een "karakterveld" ?
2) Wat bedoel je met "de kenmerken" ?
Sorteren gaat ASC (oplopend), DESC (aflopend) of random. Je kunt uiteraard een functie gebruiken om een bepaald deel uit je data te gebruiken voor het sorteren, dat is geen enkel probleem.
Door 'ORDER BY naam ASC' is dit probleem opgelost, denk ik. Hierdoor wordt de data die in naam staat alfabetisch gerangschikt. Dat levert dus dit rijtje op:
@Tim: Jouw rijtje klopt niet.
Dit klopt:
Van Leuven
Van de Vijver
Vanleuven
@Gustaaf: Eigenlijk heb je de data niet goed in de database opgeslagen.
Hier maak je óf dit
'Vijver, van de'
óf dit van.
Twee aparte kolommen
1) achternaam => 'Vijver'
2) tussenvoegsel => 'van de'
SanThe heeft gelijk, ASC werkt aleen op het eerste woord.
Maar aangezien dat het tusenvoegsel is sorteert hij dus het word van, en niet de achternaam.
Dus zo als SanThe al zei moet je echt enkel de achternaam sorteeren met ASC zonder de tussenvoegsels.
SanThe heeft gelijk, ASC werkt aleen op het eerste woord.
Dat heb ik niet gezegd. Een spatie is lager dan een letter en komt dus eerder in de rij. Verder is een hoofdletter weer lager dan een kleine letter. (Mits hoofdlettergevoelig uiteraard)
@ SanThe: Sorteren op naam geeft toch wel het volgende rijtje terug:
- Van de Vijver
- Van Leuven
- Vanleuven
Als het goed is ga je bij alfabetisch sorteren iedere letter één voor één af, zolang woorden hetzelfde zijn. Daarnaast gaat een spatie voor een letter, dus zullen eerst 'Van de Vijver' en 'Van Leuven' worden vergeleken. Aangezien de 'd' voor 'L' komt, is 'Van de Vijver' eerder in het alfabet. 'Vanleuven' komt als laatste.
Edit: Het verhaal hierboven gaat niet echt in op de vraag, excuses. Punt is, dat ik persoonlijk dit de meest logische opbouw vindt van achternamen (dus inclusief tussenvoegsel) weergeven. Ik zou waarschijnlijk nou juist problemen hebben als 'Van Leuven' voor 'Van de Vijver' komt. Een uitzondering hierop is als het weergeven wordt zoals SanThe voorstelt: 'Leuven, van' en 'Vijver, van de'.
Punt is, dat ik persoonlijk dit de meest logische opbouw vindt van achternamen (dus inclusief tussenvoegsel) weergeven. Ik zou waarschijnlijk nou juist problemen hebben als 'Van Leuven' voor 'Van de Vijver' komt. Een uitzondering hierop is als het weergeven wordt zoals SanThe voorstelt: 'Leuven, van' en 'Vijver, van de'.
En hoe zoek jij namen op in het telefoonboek? Jij gaat bij de "v" zoeken wanneer iemand "van" in zijn naam heeft staan? Sorteren op achternaam doe je op de achternaam en niet op het tussenvoegsel. Tussenvoegsels zul je dus apart moeten opslaan wil je op de achternaam kunnen sorteren.