Avatar billede mjansen Seniormester
05. september 2013 - 19:48 Der er 7 kommentarer og
1 løsning

søgning i tabel

Har en tabel som indeholder model navn aa-xxxx.

Men når folk søger kan de finde på at skrive aaxxxx

Hvordan finder jeg så denne vare?
Avatar billede arne_v Ekspert
05. september 2013 - 19:53 #1
En simpel mulighed:

SELECT ... WHERE ... REPLACE(model, '-', '') = 'aaxxxx'
Avatar billede arne_v Ekspert
05. september 2013 - 19:55 #2
En mere kompleks men muligvis bedre performende loesning:

SELECT ... WHERE ... model_stripped = 'aaxxxx'

hvor model_stripped indeholder det samme som model bare uden bindestreg og andre special tegn.
Avatar billede arne_v Ekspert
05. september 2013 - 19:55 #3
Bindestregen skal selvfoelgelig ogsaa strippes fra soegeordet i din applikation (PHP kode eller andet), men det er nemt.
Avatar billede mjansen Seniormester
05. september 2013 - 20:00 #4
#1 det er lige hvad jeg skal bruge.

#3 i php erstattes - med % så det bliver mere flexibelt.

Takker for hjælpen.

Kom bare med er svar.
Avatar billede mjansen Seniormester
05. september 2013 - 20:01 #5
#1 kan vel godt bruge LIKE
Avatar billede arne_v Ekspert
05. september 2013 - 20:06 #6
Du kan godt bruge LIKE.
Avatar billede arne_v Ekspert
05. september 2013 - 20:07 #7
Bemaerk at:

WHERE ... REPLACE(model, '-', '') = 'aaxxxx'

kan ikke udnytte index paa model felt, saa hvis der er millioner af raekker ar det ikke godt for performance.
Avatar billede arne_v Ekspert
05. september 2013 - 20:07 #8
og svar
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