为什么这个查询在android SQLite中没有返回任何内容

为什么这个查询在android SQLite中没有返回任何内容,android,sqlite,Android,Sqlite,而争议裁决委员会 SELECT * FROM EVENT_total_time WHERE USER_ID = 2 AND LEVEL_SEQUENCE_NUMBER = 1 AND DATETIME( TIMESTAMP ) BETWEEN DATETIME('now','-7 days') AND DATETIME('now') ORDER BY datetime( TIMESTAMP ) ASC 此查询是30秒前运行的,因此。。。日期时间(“现在”)应为2016年

而争议裁决委员会

SELECT * FROM EVENT_total_time 
WHERE USER_ID = 2 
    AND LEVEL_SEQUENCE_NUMBER = 1 
    AND DATETIME( TIMESTAMP ) BETWEEN DATETIME('now','-7 days') AND DATETIME('now') 
ORDER BY datetime( TIMESTAMP ) ASC
此查询是30秒前运行的,因此。。。日期时间(“现在”)应为2016年2月15日21:32:00


我运行了这个查询,结果是空的。有人知道为什么吗

但是您的查询不会输出
datetime('now')
。它返回时间戳小于1周的记录内容。那么问题出在哪里呢?是的,您使用的是日期时间间隔。如果只想输出此日期时间,则必须将日期时间(“现在”)设置为onlyDefine“notworking”。如果您编写的查询提供了显示的结果,那么它似乎工作正常。如果现在是
2016-02-15 21:32:00
,那么7天前是
2016-02-08 21:32:00
。您收到的两个记录的日期都是
2016-02-15 21:29:29
,因此这似乎是正确的。我将编辑此
DATETIME('now','-7天')中的问题
now
作为字符串传递,对吗?我想应该是
DATETIME(现在(),'-7天)
PRINTING TABLE EVENT_total_time
0 {
    _id=56
    USER_ID=2
    TIMESTAMP=2016-02-15 21:29:29
    EPOCH_TIME=1455571769621
    NEW_VALUE=3.034
    LEVEL_ID=7
    LEVEL_SEQUENCE_NUMBER=1
    EXTRAS={"old_value":0}
  }
1 {
    _id=57
    USER_ID=2
    TIMESTAMP=2016-02-15 21:29:29
    EPOCH_TIME=1455571769822
    NEW_VALUE=3.219
    LEVEL_ID=7
    LEVEL_SEQUENCE_NUMBER=1
    EXTRAS={"old_value":3.034}
  }