2016-12-23 5 views
0

В настоящее время у меня есть запрос, как это:запроса подстрока два способа

"SELECT * FROM Table1 WHERE col1 LIKE '%fox jumped over%' " 

Это найти результат, если col1 имеет значение . Как я могу изменить этот запрос, чтобы он также нашел совпадение для «перепрыгивания».

Мне нужен запрос, который проверяет на наличие LIKE в обоих направлениях, если это имеет смысл.

Я не знаю значения col1, поэтому у меня не может быть такого состояния, как "%jumped over%". Я могу работать только с анализируемым значением.

В настоящее время я создаю запрос и затем разбираю его в пользовательскую функцию pdo.

+2

просто 'SELECT * FROM Table1 WHERE col1 LIKE '% перепрыгнул%'' – e4c5

+3

'SELECT * FROM Table1 WHERE col1 LIKE '% лиса перепрыгнула через%' ИЛИ col1 LIKE '% перепрыгнул через%' ' – Thamilan

+0

" SELECT * FROM Table1 WHERE col1 LIKE '% fox перепрыгнул через%' ИЛИ ​​col1 LIKE '% jumped over%' " – Maytyn

ответ

2

Я думаю, что многие люди не поняли, что вам нужно. Если я вас правильно понимаю вам нужен следующий запрос:

SELECT * FROM Table1 
    WHERE col1 LIKE '%fox jumped over%' OR 'fox jumped over' LIKE CONCAT('%', col1, '%') 
+0

Genius! - большое спасибо. Я не знал, что вы можете изменить это сравнение. –

0

Вы можете получить желаемый результат, используя ниже запроса -

SELECT * FROM Table1 WHERE col1 LIKE '%fox jumped over%'" OR 
col1 LIKE '%jumped over%' 
+0

Нет необходимости в первом условии, то –

+0

Это не очень прагматично. Это предполагает, что я знаю значение col1 –

+0

Это также требуется, потому что вы хотите получить результат, который либо ** лиса перепрыгнул через ** или ** перепрыгнул через ** –