代码之家  ›  专栏  ›  技术社区  ›  Shawn

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

  •  0
  • Shawn  · 技术社区  · 15 年前

    SELECT * FROM tableName WHERE fieldName LIKE '%string%'
    

    查找tableName中fieldName值包含字符串“string”的每一行。 如何在tableName中找到字段名值包含在字符串“string”中的每一行?

    名字

    FirstName | LastName
    Bob       | Dylan
    Bob       | Marley
    

    我想使用字符串“Bob Marley”来查找[Bob | Marley]和[Bob | Dylan],因此我会说:查找中的所有行 名字 价值何在 名字 包含在“Bob Marley”中

    SELECT * FROM tableName WHERE 'string' LIKE %fieldName%
    

    但它不起作用。

    5 回复  |  直到 15 年前
        1
  •  2
  •   Chris Nielsen    15 年前

    试试这个:

    Select * From tableName where 'string' Like '%' + fieldName + '%'
    
        2
  •  1
  •   Mayo    15 年前

    从“字符串”所在的表名中选择*,如“%”+字段名+“%”

        3
  •  1
  •   Shawn    12 年前

    Select * From names where 'Bob Marley' Like CONCAT('%', FirstName, '%')
    
        4
  •  0
  •   Ken Keenan    15 年前

    试试这个:

    SELECT *
      FROM tableName
     WHERE LOCATE(fieldName, 'string') > 0;
    
        5
  •  0
  •   Quassnoi    15 年前
    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, '%')