我需要知道過去7天的記錄。我想寫在那裏條件的查詢。我在sqlite中有非常基本的知識。請幫助我這個查詢。找到前7天sqlite中的記錄?
回答
您需要將日期存儲在數據庫中的某一列中。在我的應用程序中,我使用timeIntervalSinceReferenceDate將NSDate(顯然是iPhone)轉換爲雙精度數據存儲在數據庫中。鑑於我可以查詢日期範圍。
我編寫函數計算過去/未來的午夜X天的NSDate,我用它來確定查詢的startDate和endDate。下面是該代碼的摘錄,會給你一些想法:
char selectQuery[MAX_STR];
sprintf(selectQuery, "SELECT DateTime FROM Journal WHERE DateTime >= %f AND DateTime < %f;",
[startDate timeIntervalSinceReferenceDate],
[endDate timeIntervalSinceReferenceDate]);
我不想的NSDate轉換爲日期時間字符串,因爲我不信任轉換來回所有不同的時區和不同語言環境的日期格式。
sqlite不會跟蹤添加表格行的時間。如果您需要此行爲,則應添加時間戳列,並在插入新行時設置當前時間。
我可以使用between子句嗎?我的意思是從當前日期和當前日期-7之間的列名選擇*從表名順序; – Praveen 2010-04-30 12:33:18
在sqlite中不存在。你可以做SELECT * FROM tablename WHERE columnname> currentdate - 60 * 60 * 24 * 7 ORDER BY columnname。您應該查看sqlite語法:sqlite.org/lang.html。我假設您將日期存儲爲UNIX時間戳 – 2010-04-30 13:07:13
BETWEEN * does *存在於SQLite中。 – dan04 2010-05-01 04:46:37
- 1. 查找X天前創建的記錄
- 2. 查找前x天的記錄嗎?
- 3. 查找記錄在10天前
- 4. 活動記錄 - 查找在今天之前created_at的記錄
- 5. 選擇記錄7天
- 6. MySQL前10天7天前
- 7. 使用MySQL選擇查詢7天完成前的記錄
- 8. 什麼是Sqlite SQL語句只查找今天的記錄?
- 9. 爲什麼沒有找到SQLite記錄?
- 10. 從過去的7天獲取記錄
- 11. 最近7天的Sqlite SELECT *
- 12. SQLite/FoxPro更新無法使用=找到記錄,但使用LIKE找到記錄
- 13. 查詢記錄7/14/21/28 ...前幾天在Mysql
- 14. 過去7天的MySQL計數記錄按0記錄分組,
- 15. 在mysql中顯示記錄從現在()到未來7天
- 16. 從MySQL獲取最新記錄(7天)
- 17. FC當在SQLite中查找記錄時
- 18. Oracle SQL Where子句查找30天以前的日期記錄
- 19. 如何獲得絕對最後7天的數據,而不是SQLite iPhone中的最後7條記錄
- 20. 使用datetime和php從1天,7天和30天前選擇mysql db中的記錄
- 21. 顯示90天前的所有記錄
- 22. 刪除30天以前的mysql記錄
- 23. 前一天的搜索記錄
- 24. SQL - 檢索最近7天的最後一天記錄
- 25. 檢索過去7天當天的最後一條記錄
- 26. 最近7天更新記錄每天的基礎
- 27. SQLite的 - 記錄
- 28. Mysql - 在記錄之前N天創建的最近記錄
- 29. Hibernate findById找不到先前找到的記錄
- 30. 從當前日期到提前7天和過去7天詢問數據
這是java的實際查詢:select * from table_name where strftime('%Y-%m-%d',field_name)> = date('now',' - 6 days')和strftime('%Y- %m-%d',field_name)<= date('now')order by field_name desc; – Praveen 2010-04-30 14:37:37