/ 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
[SQLServer 2000] Sortering
Fra : Steffen


Dato : 09-01-04 15:32

I et nvarchar felt ligger en mængde postnumre for en række forskellige
lande, fx.

8600
2200
700
TN5-7AX
8900
TN35-4AQ
BA5-3PY
CB5-OED
841
CH65-4FW
7000
133
B2-4JD

Altså et mix af alt muligt. Dem vil jeg gerne sortere så de kommer ud sådan:

133
700
841
2200
7000
8600
8900
B2-4JD
BA5-3PY
CB5-OED
CH65-4FW
TN35-4AQ
TN5-7AX

Altså i en kombineret sortering, der både sorterer alphanumerisk og
"normalt" - hvordan klares det lige...

/Steffen



 
 
Peter Lykkegaard (09-01-2004)
Kommentar
Fra : Peter Lykkegaard


Dato : 09-01-04 16:16


"Steffen" <SLieberkind@hotmail.com> wrote in message
news:IXyLb.7109$Mi6.5541@news.get2net.dk...
> I et nvarchar felt ligger en mængde postnumre for en række forskellige
> lande, fx.
> Altså et mix af alt muligt. Dem vil jeg gerne sortere så de kommer ud
sådan:
>
> Altså i en kombineret sortering, der både sorterer alphanumerisk og
> "normalt" - hvordan klares det lige...
>
Lav en trigger og et ekstra sorteringsfelt hvor du har foranstillede nuller
Noget a la

Case IsNumeric(MyField)
When 1 Then
Replicate('0', 8 - Len(MyField)) + MyField)
Else
MyField from MyTable
End

Hvor resultatet bliver således

00000133
00000700
00000841
00002200
00007000
00008600
00008900
B2-4JD
BA5-3PY
CB5-OED
CH65-4FW
TN35-4AQ
TN5-7AX

- Peter



Steffen (09-01-2004)
Kommentar
Fra : Steffen


Dato : 09-01-04 19:45

"Peter Lykkegaard" <polonline@hotmail.com> wrote in message
news:CAzLb.7672$eE7.593@news.get2net.dk...
>
> "Steffen" <SLieberkind@hotmail.com> wrote in message
> news:IXyLb.7109$Mi6.5541@news.get2net.dk...
> > I et nvarchar felt ligger en mængde postnumre for en række forskellige
> > lande, fx.
> > Altså et mix af alt muligt. Dem vil jeg gerne sortere så de kommer ud
> sådan:
> >
> > Altså i en kombineret sortering, der både sorterer alphanumerisk og
> > "normalt" - hvordan klares det lige...
> >
> Lav en trigger og et ekstra sorteringsfelt hvor du har foranstillede
nuller
> Noget a la
>
> Case IsNumeric(MyField)
> When 1 Then
> Replicate('0', 8 - Len(MyField)) + MyField)
> Else
> MyField from MyTable
> End
>
> Hvor resultatet bliver således
>
> 00000133
> 00000700
> 00000841
> 00002200
> 00007000
> 00008600
> 00008900
> B2-4JD
> BA5-3PY
> CB5-OED
> CH65-4FW
> TN35-4AQ
> TN5-7AX
>
> - Peter
>

Tak for tippet, jeg prøver med noget i den retning.

/Steffen




Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408509
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste