Slettet bruger
06. marts 2002 - 12:52
Der er
7 kommentarer og 2 løsninger
sortere efter tal
Hej - jeg ønsker at trække alle RS ud af databasen der begynder med et tal. Hvis det i stedet var bogstavet "A" ville jeg gøre sådan: SQL = "SELECT FROM Games WHERE Game_name LIKE 'a%' ORDER by Game_name asc;" Men hvis det skal være et tal - hvordan så?
Annonceindlæg fra Pax8
06. marts 2002 - 12:58
#1
SELECT * FROM games WHERE CONVERT(INT,LEFT(game_name,1)) IN (1,2,3,4,5,6,7,8,9,0) ORDER BY CONVERT(INT,LEFT(game_name,1)) Jeg tror også du kan bruge ISNUMERIC, istedet for IN. Det er dog ikke nemt at vide hvilken database type du bruger, nå du poster i en ASP sektion. - Rou
Slettet bruger
06. marts 2002 - 13:02
#2
Hej tak for dit svar - det er access jeg bruger... Og om det er den der fejler ved jeg ikke - men din løsning vil ikke helt: SQL = "SELECT * FROM games WHERE CONVERT(INT,LEFT(game_name,1)) IN (1,2,3,4,5,6,7,8,9,0) ORDER BY CONVERT(INT,LEFT(game_name,1));" Jeg får. flg. fejlmedd.: Der er en ikke-defineret funktion "CONVERT" i udtrykket. /ps2/default.asp, line 279
06. marts 2002 - 13:05
#3
Jeps, convert er en MSSQL funktion. Jeg checker lige hvad det hedder i Access.
Slettet bruger
06. marts 2002 - 13:23
#4
Altså - man KAN gøre det sådan her (eks. med 1 og 7), men det er jo ikke den korrekte måde - så skal jeg jo skrive det 10 gange... SQL = "SELECT FROM Games WHERE Game_name LIKE '1%' or Game_name LIKE '7%' ORDER by Game_name asc;"
06. marts 2002 - 13:43
#5
Den skal se således ud i Access: SQL = "SELECT * FROM games WHERE LEFT(game_name,1) IN ('1','2','3','4','5','6','7','8','9','0') ORDER BY game_name"
Slettet bruger
06. marts 2002 - 13:47
#6
Tak skal I ha!
06. marts 2002 - 14:08
#7
Brug istedet: SELECT * FROM afdelinger WHERE ISNUMERIC(Left([afd_navn],1)) ORDER BY Left([afd_navn],1)
06. marts 2002 - 14:09
#8
doh, glemte at erstatte afd_navn med dit feltnavn... men du havde jo alligevel fået svar af coltau :)
06. marts 2002 - 14:33
#9
Jeg ville nu slet ikke anbefale en løsning med både LEFT og IN da de er en del resourcekrævende. Måske er det muligt at lave en som denne: SQL = "SELECT * FROM games WHERE game_name > '0' and game_name < '9a' ORDER BY game_name" ' Kræver ikke så mange resourcer Men det kræver at man kender det nøjagtige indhold af feltet: game_name
Kurser inden for grundlæggende programmering