SQL: Get-Datensätze erstellt im Zeitbereich für bestimmte Termine
Habe ich eine Reihe von Aufzeichnungen, die erstellt wurden, Letzte Woche, und von denen, die ich abrufen möchten, und nur diejenigen, die erstellt wurden zwischen 6h45 und 19h15. Ich habe eine Spalte creation_date
dass ich verwenden kann.
Wie kann ich das in sql?
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Oracle können wir verwandeln Daten in zahlen und anwenden von Arithmetik, um Sie in einer Vielzahl von Möglichkeiten.
Beispielsweise
sysdate-7
gibt uns den Zeitpunkt vor sieben Tagen.trunc(some_date)
entfernt das Zeit-element aus einer Spalte Datum. Undto_char(some_date, 'SSSSS')
gibt uns seine Zeit-element als Anzahl der Sekunden seit Mitternacht. So 06:45:00 24300 Sekunden und 18:15:59 69359 Sekunden (bitte überprüfen Sie diese zahlen, da sind Sie wieder-von-einem-Briefumschlag-figgerin').Sowieso setzen, dass alle zusammen in einer einzigen Abfrage wie diese ...
... wil produzieren alle Aufzeichnungen entstanden in der letzten Woche mit einem Zeit-element in core-Stunden.
Diese Abfrage würde zurückkehren, werden alle Datensätze, erstellt in den letzten 7 Tagen mit der Zeit einen Teil Ihrer anlegen Tag zwischen 6:45 und 7:15 Uhr.
Basierend auf den obigen Kriterien, diese zurück zu bringen Aufzeichnungen von der letzten Woche zwischen Sonntag und Samstag in der Zeit von 06:45:00 Uhr und 19:15:59.
Können Sie über den "- 7" und "+ 6", um verschiedene Nummern, wenn Sie möchten in der Woche anders zu sein (zum Beispiel, wenn deine Woche von Montag bis Sonntag).