SQLite日期比较怪异

时间:2016-07-05 07:51:13

标签: sqlite date comparison

我有一个SQLite数据库,我试图在今天之后检索截止日期的所有行(创建为DATETIME,typeof(截止日期)返回文本)。这是与今天的日期相匹配的截止日期:

sqlite> SELECT deadline, Date('now') FROM confs;
2016-08-28|2016-07-05
2016-06-30|2016-07-05
...

现在,如果我尝试选择今天以后的日期:

sqlite> SELECT deadline FROM confs WHERE deadline > Date('now')
sqlite>

不返回任何行。另一方面,

sqlite> SELECT deadline, Date('now') FROM confs WHERE deadline < Date('now');
2016-08-28|2016-07-05
2016-06-30|2016-07-05
...

我试过了:

  • 使用text类型的“截止日期”创建表 - 没有成功,结果相同。
  • 将截止日期或日期('现在')作为文本投射 - 没有成功,结果相同。
  • 将截止日期和日期('现在')作为文本投放 - 没有成功,结果相同。
  • 使用WHERE截止日期&gt; '2016-07-05' - 没有成功,结果相同。
  • 使用TimBiegelsen的建议:截止日期&gt; STRFTIME('%Y-%m-%d','now') - 没有成功,结果相同。

我认为问题与截止日期的类型有关,但这是猜测。

目标是让一个表包含一个包含日期的列,我可以在Date('now')之后选择日期。我做错了什么?

1 个答案:

答案 0 :(得分:0)

好的,傻我。 事实证明我输入了数据错误:截止日期以空格开头。