sqlite where子句不返回任何行

时间:2015-07-09 18:01:34

标签: sqlite

sqlite 3.6.13

.schema运行产量

CREATE TABLE runs (id INTEGER PRIMARY KEY, 
               runname    TEXT DEFAULT 'norun',
               ....
执行

select runname FROM runs ORDER BY runname DESC limit 10;   *returns*

2015ww27.3c
2015ww27.3b
2015ww27.3a
201528.3c
201528.3b
201528.3a
201528.2z
201528.2y
201528.2x
201528.2s

但正在执行

select runname FROM runs WHERE runname = '210528.2y';

不会失败,但不会按预期返回一行。

我已经将大部分头发拉出来 - 字段被声明为TEXT,所以单引号适合使用。这有什么不对?

TIA,

仍在学习史蒂夫

3 个答案:

答案 0 :(得分:0)

你有一些字符翻转。你要求的是一个不存在的名字。 (至少从您的数据至少说明了这一点。)

编辑:

也许你打算写

20158.2y

而不是

21058.27

答案 1 :(得分:0)

你有尾随空格还是什么?

你有10和01换位,我假设这里是一个错字,如果不是你的问题。

您还可以尝试`运行名称' 201528.2y%'如果你有一些尾随空格或什么的。

答案 2 :(得分:0)

ach,是的,简单的愚蠢错字。但它让我思考......真正的问题是更复杂的查询,一个有JOIN。将201528.2y插入该查询按预期工作,但其他一些值没有。让我思考亲子关系。因此,一些挖掘发现我们有一些子行,不知何故不再有父行。卫生部!

感谢所有回复的人!

CASE CLOSED

仍在学习史蒂夫