Подтвердить что ты не робот

Инструкция MySQL LIKE для поиска подстроки в любом месте, кроме начала строки

У меня есть SQL-запрос SELECT * FROM table WHERE column LIKE '%pdd%'.

Проблема в том, что мне нужно получить все результаты, исключая те, которые начинаются с "pdd" , и я имею в виду найти все, где "pdd" не в начале. Как это можно сделать?

Мне нужно сопоставить "pdd" , когда он не находится в начале столбца.

4b9b3361

Ответ 1

Я предполагаю, что вы имеете в виду все строки, которые соответствуют "pdd", кроме тех, где "pdd" находится в начале.

SELECT * FROM table WHERE column LIKE '_%pdd%'.

Подстановочный символ "_" в предикатах LIKE означает "один из символов", эквивалентный "." в регулярных выражениях.

Ответ 2

Если я правильно понимаю ваше требование, вам нужно:

SELECT * FROM table WHERE column LIKE '%pdd_%' and column NOT LIKE 'pdd_%'

Ответ 3

SELECT * FROM table WHERE column LIKE '%pdd%' AND column NOT LIKE 'pdd%'

Вы можете оптимизировать запрос в зависимости от того, насколько часто это происходит в вашей таблице.

Ответ 4

Try:

SELECT * FROM table WHERE column NOT LIKE 'pdd%'