"EnjoyNews" <mh-nyheder@mail.dk> skrev i en meddelelse
news:45566108$0$907$edfadb0f@dread12.news.tele.dk...
>
> "TageG" <tage@gejl.dk> skrev i en meddelelse
> news:4555e7e3$0$186$edfadb0f@dread11.news.tele.dk...
> >
> > "EnjoyNews" <mh-nyheder@mail.dk> skrev i en meddelelse
> > news:4555d239$0$924$edfadb0f@dread12.news.tele.dk...
> > > Hej
> > >
> > > Er det muligt at udskrive en liste hvor tegn kommer til sidst.
> > > Altså først 0-9 så a-z og derefter specielle tegn som ",_!? osv.
> > >
> > > Normalt kommer disse tegn jo først, men det må de ike i den liste jeg
> skal
> > > bruge.
> > >
> >
> > det kommer jo nok an på hvilket db system du bruger, men et hint (f.eks.
> > DB2) kunne være:
> >
> > select col from table order by TRANSLATE(col,'_!?',x'aaabac')
> >
> > du kan jo selv udvide efter behov
>
> Jeg er ikke klar ocer hvilket system jeg bruger.. Det er bare en mysql
> database...
> Umiddelbart vil den ikke godtage TRANSLATE kommando'en.
>
> Jeg har på en anden side lavet dette
> ORDER BY case when Subkategori = 'Andet' then 1 else 0 end, Subkategori
> Det putter Andet sidst i sorteringen.
>
> og denne
> ORDER BY FIELD(Gruppe,'Musician','Singer','Composer','Studio Crew','Cover
> Crew')
> Der vælger jeg helt selv række følgen.
>
> Men det kræver jo at man kan definere symboler.
> Altså ex. ORDER BY case when Feltnavnet 'starter med et symbol' then 1
else
> 0 end, Feltnavnet.
> Eller ORDER BY FIELD (Feltnavnet,'0-9','a-z','symboler')
>
> Så kan man lave det som en af de eksempler hvor man måske har en eller
anden
> defination af symboler, tal og bogstaver generalt.
aahhh.. Et lys gik op for mig
Det virker hvis man gør sådan:
ORDER BY case when substring(KundeNavn, 1, 1 ) between '0' and '9' or
substring(KundeNavn, 1, 1 ) between 'a' and 'Å' then 0 else 1 end, KundeNavn
Nu putter den 0-9 og a-Å først og alt det før 0 og det mellem 9 og a som ex.
'<' putter den bagerst...
Nu kan folk ikke snude dig til en top placering ved at sætte alle mulige
tegn foran deres navn
snydt igenm, for så kommer de aller bagerst