如何在表中找到字段值包含在特定字符串中的每一行?

时间:2009-08-18 18:08:34

标签: sql mysql

通常,我使用

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%

但它不起作用。

5 个答案:

答案 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;