webForumDet fria alternativet

MySQL, Full-text search och telefonnummer

0 svar · 545 visningar · startad av prplxr

prplxrMedlem sedan juni 2012582 inlägg
#1

Jag har en tabell, modell större, där jag vill matcha tele (VARCHAR). Detta fält har jag valt att ha som VARCHAR för att jag vill ha telefonnumret formaterat enligt "0707 - 77 77 77" eller motsvarande, dock skall formateringen på det jag matchar mot inte spela någon roll. Alltså, exempelvis "070-7777777" skall matcha.

I mitt huvud låter inte detta som någon större grej, men jag får allt lite luriga resultat. Min approach så långt är följande:

MATCH(REPLACE(REPLACE(tblforetag.tele, '-', ''), ' ', '')) AGAINST(REPLACE(REPLACE(:keywords, '-', ''), ' ', ''))

Om jag till exempel söker på "070-77 77 77" så matchar det andra nummer där "77" ingår vilket blir väldigt fel då jag bara vill ha upp det resultat som matchar hela strängen.

Någon som har någon bra idé på hur jag går vidare med detta? Att använda LIKE är i princip uteslutet då det rör sig om en alldeles för stor tabell.

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)