Thomas wrote:
> Hej
>
> Det er desværre ikke en løsning for mig at lave om i databasen da
jeg ikke
> have kontrol over den. Jeg skal bruge en form for SQL til at gøre
det, hvis
> det kan lade sig gøre.
Hvis du sigter efter min løsning (b), så kan jeg kun sige, at det
bliver komplekst. Du får brug for en del "if" eller "case"
konstruktioner, "length" og "is_ascii" vil også være nødvendige. Da
du ikke har fortalt, hvilken database du kører på, kan jeg ikke være
mere specifik.
I sybase bliver den kritiske expression noget i retning af dette
-- Foranstil evt. med 0
if(length(husnummer) = 1
or length(husnummer) = 2
and is_ascii(substring(husnummer, length(husnummer), 1))
, '0'
, '')
-- Selve nummeret
+ if(is_ascii(substring(husnummer, length(husnummer), 1))
, substring(husnummer, 1, length(husnummer)-1)
, husnummer)
-- Efterstil med blank eller bogstav
+ if(is_ascii(substring(husnummer, length(husnummer), 1))
, substring(husnummer, length(husnummer), 1)
, ' ')
>
> På forhånd tak
>
> Thomas
>
> **********************
> "Kristian Damm Jensen" <damm@ofir.dk> skrev i en meddelelse
> news:cghclh$hvr@odah37.prod.google.com...
>
> Thomas spurgte:
> >
> > 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:
> >
> ********
> Kristian svarede:
>
> (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.
> ****
|