Avatar billede 0verwrite Nybegynder
25. juli 2003 - 11:35 Der er 9 kommentarer og
2 løsninger

ORDER BY varchar som int?

Jeg har en SELECT jeg gerne vil have sorteret på et varchar felt med tal (grunden til den er varchar er så jeg kan have komma'er og punktum'er og lign. så lad os ikke prøve at ændre på det)

kan det lade sig gøre at sortere på størrelsen af værdierne istedet for at sortere på størrelsen på det første tal?

eks på sortering som den ser ud nu:

940
82.340
30
1

vil jeg gerne have sorteret så de står sådan:

82.340
940
30
1
Avatar billede andy Nybegynder
25. juli 2003 - 11:47 #1
Det er da ingen logik i den sortering?
Avatar billede jpvj Nybegynder
25. juli 2003 - 11:48 #2
Jo - det er 1000-tals separator du kigger på...

82.340,00
940,00
30,00
1,00
Avatar billede andy Nybegynder
25. juli 2003 - 11:49 #3
Hvordan kan du se det ud af hans eksempel?
Avatar billede andy Nybegynder
25. juli 2003 - 11:50 #4
Han kan da ligesågodt bruge punktum som komma som vi gør normalt i danmark?
Avatar billede 0verwrite Nybegynder
25. juli 2003 - 11:57 #5
php kan ikke regne med komma!
derfor...

men ud over det, er der så nogen der har en order by der kan klare den?
Avatar billede andy Nybegynder
25. juli 2003 - 12:08 #6
Brug FLOAT.
Se mere på http://www.mysql.com/doc/en/Column_types.html

Så kan du omskrive talet med http://dk.php.net/manual/en/function.number-format.php
$num = number_format($num, 2, ',', '.');
Avatar billede arne_v Ekspert
25. juli 2003 - 12:14 #7
Prøv med:

SELECT CAST(felt,INTEGER) FROM tabel ORDER BY CAST(felt,INTEGER)

eller:

SELECT CONVERT(felt,INTEGER) FROM tabel ORDER BY CONVERT(felt,INTEGER)
Avatar billede proaccess Nybegynder
25. juli 2003 - 12:25 #8
Du kan også prøve at sortere på længden af dit felt først...

ORDER BY LENGTH(felt), felt
Avatar billede 0verwrite Nybegynder
25. juli 2003 - 12:35 #9
@arne_v
jeg kan ikke helt få CAST og CONVERT til at spille!?

SELECT ... FROM posteringer, firmaer ORDER BY CAST(posteringer.bet_sum,INTEGER)

Det ville ellers gøre tricket hvis den virkede - den melder tilbage med fejl (syntax)

@proaccess
Smart men virker ikke helt som den skal, minus og plus og lign. ser ud til at drille lidt...
Avatar billede arne_v Ekspert
25. juli 2003 - 12:39 #10
Du har CAST(posteringer.bet_sum,INTEGER) som noget der bliver selected ?
Avatar billede 0verwrite Nybegynder
25. juli 2003 - 12:50 #11
jeg valgte bare at lave det til et "FLOAT" som ser ud til at virke, arne_v tak for hjælpen (så lærte jeg også noget i dag) og også jer andre!
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