Обычно я использую
SELECT * FROM tableName WHERE fieldName LIKE '%string%'
чтобы найти каждую строку в tableName, где значение fieldName содержит строку 'string'. Как я могу найти каждую строку в tableName, где значение fieldName содержится в строке "string"?
Например, в следующей таблице
FirstName | LastName
Bob | Dylan
Bob | Marley
Я хотел бы использовать строку "Bob Marley", чтобы найти [Bob | Марли] и [Боб | Dylan], поэтому я бы сказал: найдите все строки в именах , где значение FirstName содержится в "Bob Marley"
Я подумал об этом:
SELECT * FROM tableName WHERE 'string' LIKE %fieldName%
но это не сработает.
Благодаря Chris Nielsen и mmayo я нашел это рабочее решение:
Select * From names where 'Bob Marley' Like CONCAT('%', FirstName, '%')
Попробуйте следующее:
Select * From tableName where 'string' Like '%' + fieldName + '%'
SELECT * FROM tablename WHERE 'string' like '%' + имя_файла + '%'
SELECT *
FROM (
SELECT 'Bob' AS name, 'Marley' AS lastname
UNION ALL
SELECT 'Bob' AS name, 'Dylan' AS lastname
) q
WHERE 'Bob Marley' LIKE CONCAT('%', name, '%')
Попробуйте следующее:
SELECT *
FROM tableName
WHERE LOCATE(fieldName, 'string') > 0;