Avatar billede pongman Nybegynder
09. september 2008 - 16:29 Der er 4 kommentarer og
1 løsning

Sorter "korrekt" i felt med tal, tegn og bogstaver

Har nogle værdier i feltet "name" som hedder f.eks.

"0.44 Peter"
"1.0 Hans"
"10 Hanne"
"2.34 Lars"
"11.2 Morten"

Mit query ser sådan her ud:
"SELECT * FROM item WHERE 1 ORDER BY name ASC";

Problemet er at jeg vil gerne have den til at sortere ovenstående data således:

"0.44 Peter"
"1.0 Hans"
"2.34 Lars"
"10 Hanne"
"11.2 Morten

Er der nogen måde det kan lade sig gøre på ?
Ved godt at det er bøvede data men sådan ser de nu egngang ud.
Avatar billede michaelthomsendk Nybegynder
09. september 2008 - 16:44 #1
Du må dele "name" i to, tal delen og tekst delen.
Avatar billede michaelthomsendk Nybegynder
09. september 2008 - 17:07 #2
F.eks således :-)
ORDER BY Cast(Substring(name, 1, Charindex(' ', name)) AS float) ASC, Substring(name, Charindex(' ', name)+1, 255) ASC
Avatar billede pongman Nybegynder
12. september 2008 - 09:15 #3
Fik det til at virke :)
Smid et svar for at få point.
Avatar billede michaelthomsendk Nybegynder
12. september 2008 - 10:07 #4
Godt :-)
Avatar billede arne_v Ekspert
14. september 2008 - 13:00 #5
Hvis man er paa 2005 eller 2008 saa er det et af de tilfaelde hvor en UDF i C# ville
give god mening.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester