webForumDet fria alternativet

MySQL, Full-text search och telefonnummer

Databaser & SQLur Databashanterare & SQL

0 svar · 545 visningar · startad av prplxr

Medlem sedan juni 2012582 inlägg
Frågan#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.

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