news.cybercity.dk wrote:
> Hej
>
> Jeg har en kolonne husnumre f.eks.:
> 1,2,3,4,5A,5B,6,7,8A,9,10,11,12A,o.s.v,
>
> Jeg vil gerne har lavet en SQL sætning som sortere disse husnumre i
> tal-orden d.v.s. som de står ovenfor, og ikke i tekstorden:
>
> 1,10,11,12A,2,3,4,5A,5B,6,7,8A,9
>
> Jeg har forsøgt:
>
> "Select Husnumer, CAST(Husnummer) As Int) As Col2 From Adresse b
ORDER BY
> Col2, Husnummer"
>
> men SQL vil ikke caste en streng med bogstaver.
>
> Er der nogen som har en løsning?
(a) omdefiner databasen, så hus*nummer* adskilles fra evt. bogstaver.
(b) normaliser husnummer ved (1) at foranstille det nødvendige antal
nuller, og efterstille med et blanktegn, hvis der ikke findes et
bogstav. Dermed sorterer du i stedet på
01 ,02 ,03 ,04 ,05A,05B,06 ,07 ,08A,09 ,10 ,11 ,12A,o.s.v,
Jeg ville nok foretrække (a), men det er jo ikke givet, at det er en
reel mulighed.
VH
Kristian
|