2016-03-21 6 views
1

ich diese Abfrage bin mit select * from table_nm where table_nm_date > NOW() - INTERVAL '24 hour'Wie wähle ich 24 Stunden alte Aufzeichnungen mit Postgres?

Aber auch den heutigen Aufzeichnungen gibt. Bitte hilf mir.

Output : "2016-03-20 19:31:11.896159", 
     "2016-03-21 08:24:58.223245", 
     "2016-03-21 09:13:59.768953", 
     "2016-03-21 09:51:25.161428", 
     "2016-03-21 11:35:07.378706" 

Ich möchte nur 2016-03-20 Daten.

Antwort

3

Wenn Sie Daten von gestern wollen, Filter für Datum nur:

SELECT * 
FROM table_nm 
WHERE table_nm_date BETWEEN CURRENT_DATE - 1 AND CURRENT_DATE 

(das ist ein Index freundliche Variante :)

WHERE table_nm_date::date = CURRENT_DATE - 1 
+0

Danke es funktioniert :) –

0

table_nm_date Unter der Annahme ist eine übliche Datum-Zeit wie der Datentyp , dann wird Ihre Abfrage deaktiviert, um "einen beliebigen Eintrag aus den letzten 24 Stunden" auszuwählen.

Wenn Sie möchten Wenn Sie "heutige" Datensätze ausschließen, müssen Sie diese auf geeignete Weise ausschließen, z. B. indem Sie table_nm_date zwischen START_OF_WINDOW und END_OF WINDOW verwenden und beide Grenzen entsprechend Ihren Anforderungen festlegen.

Verwandte Themen