SQLLite按日期排序错误

时间:2016-03-27 18:31:53

标签: java android sqlite

我正在尝试按日期排序列表,但我收到错误:

    String selectQuery = "SELECT  * FROM " + TABLE +
   "WHERE calendar < '2016-1-00' + ORDER BY calendar ASC";

(1)“&lt;”附近:语法错误

我做错了什么

2 个答案:

答案 0 :(得分:1)

    String selectQuery = "SELECT  * FROM " + TABLE_ASSIGNMENTS +
   " WHERE calendar < '2016-1-00' ORDER BY calendar ASC";

这是可行的答案。谢谢那些帮助过的人!

答案 1 :(得分:1)

您有两个拼写错误:

1)在TABLE连接之后添加和额外的空格

2)删除&#34; +&#34;位于日期之后的符号

您的代码应如下所示:

String selectQuery = "SELECT  * FROM " + TABLE + " WHERE calendar < '2016-1-00' ORDER BY calendar ASC";

一件重要的事情: SQLite没有&#34; date&#34;或者&#34; datetime&#34;类型,因此您必须使用unix时间戳或没有符号的反向表示日期(yyyymmdd)将日期保存为整数(int)。

我建议您使用反转符号日期,因为它只需要8个字节,SQLite订单和搜索操作将更快地执行。请记住,当值小于10时,反向表示法应使用左边填充零,因此20160301(2016年3月1日)不应表示为201631。