2017-05-01 125 views
1

我試圖從SQlite數據庫中選擇過去24小時的所有數據。有一個日期列的日期,在EPOCH時間。我已經嘗試了各種不同的命令,但是這似乎是我到目前爲止有:從SQlite選擇使用EPOCH時間的最近24小時

SELECT * 
FROM Log 
WHERE UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL -1 DAY)) 

SELECT * FROM Log WHERE Date >= datetime('now', ' '-24 hours'); 

這似乎並沒有工作。最後,我想在過去24小時內該數據庫的轉換爲Unix的一個CSV並僅在過去24小時出現使用下列內容:

sqlite3 -header -csv /opt/demo/log_20170501131627.db " select * from Log 
WHERE Date >= datetime('now', ' '-24 hours');" > /opt/demo/DB.csv 

任何想法?

回答

2
SELECT * FROM Log WHERE Date >= strftime('%s', 'now', '-1 day'); 

你可以在這裏嘗試一下:

http://sqlfiddle.com/#!5/440d5/2/0

編輯:簡化strftime使用基於 「CL.」 -s下面的評論(感謝)

+0

輝煌!這工作完美。謝謝! –

+0

不客氣。不要忘記接受你認爲最好的答案。 – ARS81

+2

你不需要單獨的'datetime()'調用;所有[日期函數](http://www.sqlite.org/lang_datefunc.html)接受修飾符。 –

相關問題