【发布时间】:2012-12-26 18:45:37
【问题描述】:
我现在正在使用 sqlite,想知道是否存在任何 SQL 查询来获取所有搜索过的名称作为整个名称或名称的一部分。我已将所有名称保存在一列中,即“名称”列,如果我将“abc”、“xyz”和“abc xyz”保存为名称并搜索 abc,那么它应该给出如下结果:“abc”和"abc xyz" 和其他名称类似....
【问题讨论】:
标签: sql sqlite android-sqlite
我现在正在使用 sqlite,想知道是否存在任何 SQL 查询来获取所有搜索过的名称作为整个名称或名称的一部分。我已将所有名称保存在一列中,即“名称”列,如果我将“abc”、“xyz”和“abc xyz”保存为名称并搜索 abc,那么它应该给出如下结果:“abc”和"abc xyz" 和其他名称类似....
【问题讨论】:
标签: sql sqlite android-sqlite
如果搜索词可以在 name 列的任何部分,请使用通配符 ('%') 将搜索词括起来并使用 LIKE 运算符:
WHERE
name LIKE '%abc%'
如果你想要所有以“abc”开头的names:
WHERE
name LIKE 'abc%'
或所有以“abc”结束的names:
WHERE
name LIKE '%abc'
【讨论】:
这种情况需要使用 Like 操作符
SELECT *
FROM table
WHERE Name LIKE '%abcd'
【讨论】:
SQLite3 supports regular expressions,只需要将 where name REGEXP 'abc' 作为你的 where 子句。希望对您有所帮助...
【讨论】:
如果你愿意:
"abc", "xyz" and "abc xyz" as names
search by "abc"
results like: "abc" and "abc xyz"
你应该使用field like "abc%"
【讨论】: