【问题标题】:SQL Query to get all names having (whole or part of) searched nameSQL 查询以获取具有(全部或部分)搜索名称的所有名称
【发布时间】:2012-12-26 18:45:37
【问题描述】:

我现在正在使用 sqlite,想知道是否存在任何 SQL 查询来获取所有搜索过的名称作为整个名称或名称的一部分。我已将所有名称保存在一列中,即“名称”列,如果我将“abc”、“xyz”和“abc xyz”保存为名称并搜索 abc,那么它应该给出如下结果:“abc”和"abc xyz" 和其他名称类似....

【问题讨论】:

    标签: sql sqlite android-sqlite


    【解决方案1】:

    如果搜索词可以在 name 列的任何部分,请使用通配符 ('%') 将搜索词括起来并使用 LIKE 运算符:

    WHERE
        name LIKE '%abc%'
    

    如果你想要所有以“abc”开头names:

    WHERE
        name LIKE 'abc%'
    

    或所有以“abc”结束names:

    WHERE
        name LIKE '%abc'
    

    【讨论】:

    • @HusnainIqbal:我看到你是新来的;如果答案对您有所帮助,请投票。如果答案为您提供了解决方案,请通过单击其左侧的绿色复选标记轮廓将其标记为“已接受”。你只能接受一个,所以选择你认为最好的一个。
    【解决方案2】:

    这种情况需要使用 Like 操作符

     SELECT  * 
        FROM table  
        WHERE Name  LIKE '%abcd' 
    

    【讨论】:

      【解决方案3】:

      SQLite3 supports regular expressions,只需要将 where name REGEXP 'abc' 作为你的 where 子句。希望对您有所帮助...

      【讨论】:

        【解决方案4】:

        如果你愿意:

        "abc", "xyz" and "abc xyz" as names
        search by "abc" 
        results like: "abc" and "abc xyz" 
        

        你应该使用field like "abc%"

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-18
          • 1970-01-01
          • 2014-09-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多