在SQLite中选择两个不同日期之间的元组

时间:2014-05-21 09:24:48

标签: sqlite

我正在尝试在SQLite中查找两个日期之间的所有结果。

select log_ID
from Message
where Timestamp between DATE('2014-04-17 03:27:08','YYYY-MM-DD HH:MI:SS')
                    and DATE('2014-04-18 03:27:08','YYYY-MM-DD HH:MI:SS');

此查询已成功执行但未提供任何结果。

我也尝试过使用DATE和TO_DATE函数。

架构:

CREATE TABLE Message(
    Log_ID INTEGER PRIMARY KEY,
    Session_ID TEXT NOT NULL,
    Timestamp DATETIME NOT NULL,
    Admill_Msg TEXT, Logcat_Msg TEXT);

示例元组:

155|admil.out.txt|2014-04-17 03:26:48.730000||PID:926 TID:926 TAG:I/Zygote LOG:Preloading resources...
156|admil.out.txt|2014-04-17 03:26:48.730000||PID:926 TID:926 TAG:W/Resources LOG:Preloaded drawable resource #0x1080096 (android:drawable/toast_frame) that varies with configuration!!
157|admil.out.txt|2014-04-17 03:26:48.740000||PID:926 TID:926 TAG:W/Resources LOG:Preloaded drawable resource #0x1080105 (android:drawable/btn_check_on_pressed_holo_light) that varies with configuration!!

1 个答案:

答案 0 :(得分:2)

您使用的是date function错误;没有格式参数。 strftime可以进行此类格式化,但这不是必需的,因为时间戳只是字符串。

直接比较字符串:

select log_ID
from Message
where Timestamp between '2014-04-17 03:27:08'
                    and '2014-04-18 03:27:08';