【问题标题】:How can I find every row in a table where the value of a field is contained in a specific string?如何在表中找到字段值包含在特定字符串中的每一行?
【发布时间】:2009-08-18 18:08:33
【问题描述】:

通常,我使用

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

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

例如在下表中

名字

FirstName | LastName
Bob       | Dylan
Bob       | Marley

我想使用字符串“Bob Marley”来查找 [Bob |马利] 和 [鲍勃 | Dylan],所以我想说:查找 namesFirstName 的值包含在“Bob Marley”中的所有行

我想到了这个:

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

但它不起作用。

【问题讨论】:

    标签: sql mysql


    【解决方案1】:

    试试这个:

    Select * From tableName where 'string' Like '%' + fieldName + '%'
    

    【讨论】:

      【解决方案2】:

      SELECT * FROM tablename WHERE 'string' like '%' + fieldname + '%'

      【讨论】:

        【解决方案3】:

        感谢 Chris Nielsen 和 mmayo,我找到了这个可行的解决方案:

        Select * From names where 'Bob Marley' Like CONCAT('%', FirstName, '%')
        

        【讨论】:

          【解决方案4】:

          试试这个:

          SELECT *
            FROM tableName
           WHERE LOCATE(fieldName, 'string') > 0;
          

          【讨论】:

          • 谢谢,您的解决方案运行良好。不过,我将使用我自己的解决方案: Select * From utilisateur where 'Shawn Freyssonnet-Inder' Like CONCAT('%', Prenom, '%') 因为我发现它在语义上更正确.. 我不想找到字符串,而是测试它是否存在。唯一的问题是我还不能选择我自己的解决方案作为我接受的解决方案.. 所以你现在得到奖金
          • 我想知道你为什么说跛脚...不管怎样,蹩脚与否,我,提问者,认为最好的答案是我自己的(受到我提到的其他两个答案的强烈启发)。但是,如果您的答案更好,它应该被评为第二名。但为此,也许你应该捍卫你的答案并向我展示它比我的更好。如果你能说服我,我很乐意改变我的投票。在那之前,很抱歉剥夺了你 15 个宝贵的声望点。
          【解决方案5】:
          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, '%')
          

          【讨论】:

            猜你喜欢
            • 2015-11-19
            • 2021-05-05
            • 2014-06-07
            • 2021-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-20
            相关资源
            最近更新 更多