【发布时间】:2011-11-29 03:42:13
【问题描述】:
我在 sqlite.org 上下搜索过,但无法弄清楚这一点。我习惯了 MySQL,所以我想我可能忽略了一些东西。
见以下代码:
sqlite> select id,event_number,must_say from events where id=28;
28|'28'|'AFK'
sqlite> select id,event_number,must_say from events where must_say='AFK';
sqlite> select id,event_number,must_say from events where must_say like 'AFK';
sqlite> select id,event_number,must_say from events where must_say like 'A%';
sqlite> select id,event_number,must_say from events where must_say=='AFK';
sqlite>
不用说,我真的希望为上述所有查询返回以下内容,而不仅仅是第一个:
28|'28'|'AFK'
我在所有 TEXT 字段中都出现了这种行为。好像根本搜不到。
这是我的事件表的架构,省略了不相关的字段:
CREATE TABLE events (
id INTEGER PRIMARY KEY AUTOINCREMENT,
EVENT_NUMBER INTEGER,
MUST_SAY TEXT
);
有什么想法吗?我只是希望能够通过表格中的任意文本字段进行搜索。
编辑:我正在使用 SQLite3。
【问题讨论】:
-
它应该可以工作。尝试插入新行并执行查询。也试试
like '%K%',也许你有不可打印的字符。 -
你是对的。我在我的数据库中没有做足够的字符剥离。我可以以某种方式将您的评论提升为答案吗?
-
我不这么认为,但您至少可以将评论标记为“很棒的评论”。我不知道我是否应该复制评论作为答案...
-
我在另一个表/字段中仍然遇到问题。我正在删除输入中的所有不可打印字符。有没有办法在 SQLite 中查看不可打印的字符?
标签: sql database sqlite where-clause