/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Udtræk tal del af tekst kolonne
Fra : news.cybercity.dk


Dato : 25-08-04 07:35

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?

Mvh Thomas



 
 
news.cybercity.dk (25-08-2004)
Kommentar
Fra : news.cybercity.dk


Dato : 25-08-04 10:19

Hej

Jeg har fundet løsningen!

Jeg har oprettet en funktion på databasen som kan give mig tal delen af et
tekst felt:

CREATE FUNCTION dbo.GetIntPart ( @Hnr nvarchar(10) )
RETURNS int AS
BEGIN
DECLARE @Nummer int
DECLARE @tmpstr int
SET @tmpstr=ASCII(right(@Hnr,1))
IF (@tmpstr>=65 And @tmpstr<=90) or (@tmpstr>=97 and @tmpstr<=122)
SET @Nummer=CAST(left(@Hnr,LEN(@Hnr)-1) AS Int)
ELSE
SET @Nummer=CAST(@Hnr AS Int)
RETURN (@Nummer)
END

og bruger derefter i min SQL sætning som sådan:

SELECT HUSNRBOGST AS COL1, dbo.GetIntPart(HUSNRBOGST) AS COL2 FROM
ngtetbl.Adresse ORDER BY COL2, COL1

og får dermed sorteret husnumrene rigtigt.

Ellers tak for hjælpen!

Thomas

"news.cybercity.dk" <reklamertilsletning@hotmail.com> skrev i en meddelelse
news:cghc3r$siq$1@news.cybercity.dk...
> 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?
>
> Mvh Thomas
>
>



Søg
Reklame
Statistik
Spørgsmål : 177460
Tips : 31964
Nyheder : 719565
Indlæg : 6408201
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste