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

Как использовать LIKE с именем столбца

Обычно оператор LIKE используется для проверки шаблона как данных.

пример:

select * from table1 where name like 'ar%'

Моя проблема - использовать один столбец таблицы с оператором LIKE.

Пример:

select * from table1, table2 where table1.x is like table2.y%

Запрос выше результатов ошибка. Как использовать данные одного столбца в запросе like?

4b9b3361

Ответ 1

Ты рядом.

Оператор LIKE работает со строками (CHAR, NVARCHAR и т.д.). поэтому вам нужно добавить символ '%' в строку...


MS SQL Server:

SELECT * FROM table1,table2 WHERE table1.x LIKE table2.y + '%'


Использование LIKE, однако, часто медленнее, чем другие операции. Это полезно, мощно, гибко, но имеет соображения производительности. Я оставлю это для другой темы, хотя :)


EDIT:

Я не использую MySQL, но это может сработать...

SELECT * FROM table1,table2 WHERE table1.x LIKE CONCAT(table2.y, '%')

Ответ 2

SQL SERVER

 WHERE ColumnName LIKE '%'+ColumnName+'%'

Ответ 3

...
WHERE table1.x LIKE table2.y + '%'

Ответ 4

declare @LkeVal as Varchar(100)
declare @LkeSelect Varchar(100)

Set @LkeSelect = (select top 1 <column> from <table> where <column> = 'value')
Set @LkeVal = '%' + @LkeSelect

select * from <table2> where <column2> like(''[email protected]+'');

Ответ 5

Пример базы данных ORACLE:

select * 
from table1 t1, table2 t2
WHERE t1.a like ('%' || t2.b || '%')