Avatar billede dex_dexter Nybegynder
24. juni 2003 - 11:26 Der er 8 kommentarer og
1 løsning

udtræk fra varchar felt i mysql, order by

jeg har et problem med at udtrække nogle værdier fra et varchar felt.
jeg har brugt:
order by felt asc
det virker udemærket men problemet er at der også er nogle talværdier i databasen, og dem vil jeg også gerne have opstille i rigtig rækkefølge, lige nu bliver de nemligt ordnet sådan her:
1
10
100
101
1000
120
13
130

hvordan kan jeg få dem opstillet "rigtigt"?
Avatar billede htm Nybegynder
24. juni 2003 - 11:29 #1
De bliver listet sådan fordi at det er en varchar, og dermed en string! en String bliver sorteret på den måde!

Hvis du vil omgås det er det at lave feltet om til int eller at sætte nul ind foran, så de for samme længde!
Avatar billede dex_dexter Nybegynder
24. juni 2003 - 11:33 #2
det har jeg desværre ikke mulighed for, men tænkte om der ikke var noget php kode som kunne ordne dem for mig, altså når de er udtrukket fra databasen
Avatar billede jakoba Nybegynder
24. juni 2003 - 11:35 #3
en tredie mulighed er at benytte sig af mysql-s automatiske typekonvertering:

select feltnavn
...
order by (1*feltnavn)
Avatar billede jakoba Nybegynder
24. juni 2003 - 11:37 #4
hmm nok hurtigere hvis du siger:

SELECT (1*feltnavn AS aliasnavn
...
order by aliasnavn
Avatar billede chries Nybegynder
24. juni 2003 - 11:47 #5
i php kunne du:

$data = Array();

for hvor dataelement fra database:
  $data[] = $datafradatabase;

asort($data);
Avatar billede chries Nybegynder
24. juni 2003 - 11:48 #6
bug :)

$data[] = (integer)$datafradatabase;
Avatar billede dex_dexter Nybegynder
24. juni 2003 - 12:26 #7
hm.. jakobas svar virker udemærket, bortset det gør min query meget langsom, men det gør sgu ikke noget
Avatar billede jakoba Nybegynder
24. juni 2003 - 12:46 #8
prøv med anden version (men tilføj det ')' tegn jeg glemte):
  SELECT (1*feltnavn) AS aliasnavn
  ...
  order by aliasnavn
Avatar billede jakoba Nybegynder
24. juni 2003 - 12:47 #9
ups
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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