SQLite where子句在TEXT字段中表现异常

时间:2011-10-01 18:59:07

标签: sql database sqlite where-clause

我在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。

1 个答案:

答案 0 :(得分:1)

您的列中也可能有空格。

您可以使用

查看空格
select '|' || must_say || '|' from events

你可以看到

的unprintables
select hex(must_say) from events