Match virker ikke med begyndende jokertegn, så match med *abc*
vil ikke virke. Du skal bruge LIKE
for at opnå dette:
SELECT * FROM user WHERE user_login LIKE '%abc';
Dette vil dog være meget langsomt.
Hvis du virkelig har brug for at matche slutningen af strengen, og du er nødt til at gøre dette ofte, mens forestillingen dræber dig, ville en løsning være at oprette en separat kolonne, hvor du vender strengene om, så du fik:
user_login user_login_rev
xyzabc cbazyx
Så i stedet for at lede efter '%abc'
, kan du kigge efter 'cba%'
hvilket er meget hurtigere, hvis kolonnen er indekseret. Og du kan igen bruge MATCH, hvis du kan lide at søge efter 'cba*'
. Du skal også bare vende søgestrengen.