Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 09:47 Der er 16 kommentarer og
1 løsning

sortering af tal i tekstfelt

Hej, hvordan kan jeg sortere efter tal som ligger i et tekstfelt i en MS SQL database.
Mit problem er at 96 er større end 1156, det er fordi den sortere efter det første tal, pga. det er et tekstfelt.

Så fandt jeg CLng, men det virker ikke til MS SQL, er der noget der gør det samme til MS SQL?

Min kode ser foreløbig sådan ud:

SQL = "SELECT * FROM tbl WHERE program LIKE 'spm' ORDER BY clng(tlf) DESC"
set rs = Conn.Execute(SQL)

Den kommer bare med
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]'clng' is not a recognized built-in function name.
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 09:52 #1
Du laver det vel til et talfelt, ikke?

Eller kan du lave et hack - men det er langsomt!!

SQL = "SELECT * FROM tbl WHERE program LIKE 'spm' ORDER BY 0+tlf DESC"

Er det et telefonnummer?
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 09:57 #2
jeg har ikke mulighed for at lave det til et talfelt.
Det er ikke et telefonnummer, men et felt som tæller hits af et spørgsmål. Det er flere forskellige sider som bruger den samme database, så derfor var kun tlf feltet ledigt.

dit forslag med hack virker desværre hellere ikke:

Implicit conversion from datatype 'varchar' to 'int' is not allowed. Use the CONVERT function to run this query.
Avatar billede lap Nybegynder
24. oktober 2003 - 09:58 #3
hvad med to_number(tlf)?
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 09:59 #4
Virker hos mig i SQLServer 2000
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:00 #5
lap >> virker hellere ikke :-(
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 10:00 #6
...men andre sider og programmer kan da være ligeglade med om der et
ekstra felt de ikke bruger og kender til.
Avatar billede lap Nybegynder
24. oktober 2003 - 10:02 #7
hvad med convert(numeric,tlf)? (to_number er åbenbart kun oracle)
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:03 #8
problemet er at nogle sider bruger feltet til telefonnummer. Der er f.eks. et brugtmarked, en debatsektion. Så det er lidt svært at få alt til at stemme.
Avatar billede lap Nybegynder
24. oktober 2003 - 10:04 #9
du siger altså, at det kun somme tider er tal som står i feltet - så tror jeg du roligt kan droppe det...
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 10:05 #10
0+'Sverige' giver fejl, mens 0+'333' går godt (hos mig)
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:08 #11
hos mig er det nok et varchar felt, og jeg må slet ikke komme i nærheden af databasefolkene, så jeg har ikke mulighed for at lave det om til et talfelt.
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 10:10 #12
Det er da utilfredsstillene ;) Nyt job? www.jobindex.dk  *g*
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:10 #13
hehe, prøv for sjov at søge efter et programmør job på bornholm, så kan du se hvor mange der er :-)
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:17 #14
i kan ligge et svar hvis i vil have nogle point. I har jo kommet med nogle gode forslag som desværre bare ikke ville virke hos mig.
Men tak for jeres indsats alligevel :-)
Avatar billede erikjacobsen Ekspert
24. oktober 2003 - 10:27 #15
Ingen løsning, ingen point, tak.
Avatar billede aspbuilder Nybegynder
24. oktober 2003 - 10:28 #16
helt iorden, så lukker jeg spørgsmålet.
Avatar billede arne_v Ekspert
24. oktober 2003 - 14:16 #17
Har du prøvet:

ORDER BY CAST(tlf AS INTEGER)

?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester