2017-05-01 7 views
1

過去24時間のSQliteデータベースからすべてのデータを選択しようとしています。日付が存在し、それがEPOCH時間である「日付」列があります。私は別のさまざまなコマンドを試してみたが、これは私がこれまで持っているもののようだ:EPOCH時間が使用されたSQliteから過去24時間を選択

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

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

これは動作するようには思えません。最終的に、私は、UnixでCSVにこのデータベースの最後の24時間を変換しようとしていて、そこだけ最後の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

編集:以下 "CL." -sコメント(感謝)

+0

ブリリアントに基づいてstrftimeの使用を簡素化します!これは完全に機能します。ありがとう! –

+0

ようこそ。あなたが一番いいと思う答えを受け入れることを忘れないでください。 – ARS81

+2

別の 'datetime()'コールは必要ありません。すべての[日付関数](http://www.sqlite.org/lang_datefunc.html)は修飾子を受け入れます。 –

関連する問題