通常,我使用
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%
但它不起作用。
答案 0 :(得分:2)
试试这个:
Select * From tableName where 'string' Like '%' + fieldName + '%'
答案 1 :(得分:1)
SELECT * FROM tablename WHERE'string'like'%'+ fieldname +'%'
答案 2 :(得分:1)
感谢Chris Nielsen和mmayo,我发现了这个有效的解决方案:
Select * From names where 'Bob Marley' Like CONCAT('%', FirstName, '%')
答案 3 :(得分:0)
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, '%')
答案 4 :(得分:0)
试试这个:
SELECT *
FROM tableName
WHERE LOCATE(fieldName, 'string') > 0;