Съвпадението не работи с начални заместващи знаци, така че съпоставянето с *abc*
няма да работи. Ще трябва да използвате LIKE
за да постигнете това:
SELECT * FROM user WHERE user_login LIKE '%abc';
Това обаче ще бъде много бавно.
Ако наистина трябва да съвпадате за края на низа и трябва да правите това често, докато изпълнението ви убива, решение би било да създадете отделна колона, в която да обърнете низовете, така че да получите:
user_login user_login_rev
xyzabc cbazyx
След това, вместо да търсите '%abc'
, можете да потърсите 'cba%'
което е много по-бързо, ако колоната е индексирана. И можете отново да използвате MATCH, ако искате да търсите 'cba*'
. Просто ще трябва да обърнете и низа за търсене.