在閱讀了這里的十幾個回復并對其進行測驗后,我別無選擇,只能尋求幫助。
我的目標很簡單,我希望從中選擇資料:
- 上一小時
- 前一天
我的表使用了名為“ timestamp ”的TEXT型別的列,保存時間的格式為:2022-03-04 05:44:11。
查詢應該很簡單,但據我所知,有許多函式不受支持,如 DATE_SUB,所以我測驗了我在這里找到的內容。
例如:
SELECT `timestamp` FROM ... where datetime(timestamp) >= datetime('now', '-1 Day')
結果:
2022-03-03 16:33:35
2022-03-03 15:05:17
2022-03-04 05:44:11
2022-03-04 05:40:22
2022-03-04 05:36:38
2022-03-04 05:25:53
2022-03-04 05:16:16
這是不正確的,因為它將回傳前一天的資料 今天包括在內。我不想要那個,我只需要前一天。
-1 Hour 和其他一切都會發生同樣的事情。我也嘗試過 strftime 但沒有成功。
這個任務應該非常容易實作,但 SQLite 并不“玩球”。
有人可以建議如何做到這一點嗎?
非常感謝
uj5u.com熱心網友回復:
對于前一天的行,使用該函式date()去除時間戳的時間部分:
WHERE date(timestamp) = date('now', '-1 day')
對于前一小時的行,使用strftime()帶有去除分鐘和秒的修飾符的函式:
WHERE strftime('%Y-%m-%d %H', timestamp) = strftime('%Y-%m-%d %H', 'now', '-1 hour')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/437502.html
上一篇:按日期合并資料框
下一篇:訪問節點串列
