Вы понимаете это почти правильно, но вы не понимаете подстановочный знак%.
В SQL подстановочный знак% будет соответствовать любой строке любой длины. Вы хотите этого с самого начала, потому что вас не интересуют главные роли.
Однако, если вы поместите его в конец вашей совпадающей строки, как LIKE, будет разрешено совпадение, если что-то идет после вашей строки.
Итак, взяв ваш пример
абв123
XYZ123
pqc1238
Теперь, если слово равно 123, оно должно вернуть abc123 и xyz123, если c123, тогда вернуть abc123 и> НЕ pqc1238 и xyz123
если 238, тогда просто вернуть pqc1238 ....
У вас есть% 123%, вы говорите: «Я хочу, чтобы все строки начинались с чего-либо, затем с« 123 », а затем заканчивались чем-нибудь». Это будет соответствовать любой строке, которая содержит «123» в любой точке.
То, что вы хотите сказать, это «Я хочу, чтобы все строки начинались с чего-либо, затем имели« 123 », а затем заканчивались». Итак, это% 123.
Наконец, чтобы получить ТОЧНОЕ совпадение с подобным, просто уберите все подстановочные знаки.
Эта страница содержит довольно хороший обзор подстановочных знаков SQL.