Avatar billede ossi Nybegynder
13. maj 2003 - 21:06 Der er 12 kommentarer og
4 løsninger

En SELECT jeg ikk kan klare...

Hej,

Lidt hurtigt spørgsmål, men jeg skal bruge noget i den her stil:

SELECT navn FROM tabel WHERE -første-bogstav-af-navn- = 'A'

Kan dette lade sig gøre?
Avatar billede ahv Nybegynder
13. maj 2003 - 21:08 #1
SELECT * FROM dintabel WHERE feltnavn REGEXP 'a'
Avatar billede ahv Nybegynder
13. maj 2003 - 21:08 #2
SELECT * FROM dintabel WHERE feltnavn REGEXP '^a'
Avatar billede htm Nybegynder
13. maj 2003 - 21:10 #3
Eller en tilsyneladende lidt hurtigere en:

SELECT * FROM dintabel WHERE SUBSTRING(feltnavn,1,1) = 'a'
Avatar billede htm Nybegynder
13. maj 2003 - 21:11 #4
Og for lige at få en mulighed mere
SELECT * FROM dintabel WHERE feltnavn LIKE 'a%'
Avatar billede dmcn Praktikant
13. maj 2003 - 21:12 #5
REGEXP/LIKE er begge overkill i dette tilfælde. Brug i stedet LEFT-funktionen (www.mysql.com for info om den).
Avatar billede dmcn Praktikant
13. maj 2003 - 21:13 #6
Avatar billede disky Nybegynder
13. maj 2003 - 21:16 #7
select navn from tabel where KolonneNavn like '%A'
Avatar billede htm Nybegynder
13. maj 2003 - 21:18 #8
n0rmality>> Så er substring vel helt ok?

disky>> Din sætning returnerer ikke alle rækker der slutter på A ikke starter med A :-)
Avatar billede a1a1 Novice
13. maj 2003 - 21:26 #9
select * from tabel where left(feltnavn,1) like 'a'

;o)
Avatar billede disky Nybegynder
13. maj 2003 - 21:28 #10
htm:
doooh

der skal selvfølgelig ståå

A% og ikke %A
Avatar billede dmcn Praktikant
13. maj 2003 - 21:29 #11
htm : Ja, den burde også fint kunne gå. Er man ydelsesfanatiker kan man prøve at benchmarke lidt for at se hvilken der er hurtigst, men jeg tror vi snakker milisekunder. ;)

Mit forslag lyder altså: SELECT foo FROM bar WHERE LEFT(foo,1) = 'a'
Avatar billede ossi Nybegynder
13. maj 2003 - 21:46 #12
Wow... Fast response :P Og det virker nu, bruger den funktion som htm først henviser til... n0rmality først henviser til (LEFT)..

Såå, hvem ****** giver man nu point? :/
Avatar billede dmcn Praktikant
13. maj 2003 - 21:47 #13
Jeg har ikke brug for point - giv dem til en anden. :)
Avatar billede schaefner Juniormester
13. maj 2003 - 21:48 #14
n0rmality >> Jeg prøvede på et tidspunkt at teste fire måder at hive poster ud der startede med A. Jeg brugte SUBSTRING, LEFT, LIKE og REGEXP. SUBSTRING er generelt en anelse hurtigere end left, men ikke meget :)
Avatar billede schaefner Juniormester
13. maj 2003 - 21:49 #15
Har desværre overskrevet filen på min server :(
Avatar billede ossi Nybegynder
13. maj 2003 - 22:02 #16
Da alle kom med gode måder, giver jeg så lige til alle... Håber det er i orden :)
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