sql >> Databasteknik >  >> RDS >> Oracle

SQL:Få poster skapade inom tidsintervall för specifika datum

I Oracle kan vi förvandla datum till tal och tillämpa aritmetik på dem på en mängd olika sätt.

Till exempel sysdate-7 ger oss datumet för sju dagar sedan. trunc(some_date) tar bort tidselementet från en datumkolumn. Och to_char(some_date, 'SSSSS') ger oss dess tidselement som antalet sekunder sedan midnatt. Så 06:45:00 är 24 300 sekunder och 18:15:59 är 69 359 sekunder (kontrollera dessa siffror, eftersom de är baksidan av ett kuvert).

Hur som helst, att sätta ihop det hela i en enda fråga så här...

select *
from your_table
where creation_date >= trunc(sysdate)-7
and to_number(to_char(creation_date, 'sssss')) between 24300 and 69359

... kommer att producera alla poster som skapats under den senaste veckan med ett tidselement inom kärntimmar.



  1. En översikt över PostgreSQL &MySQL Cross Replication

  2. Få skillnaden mellan två datum både i månader och dagar i sql

  3. MySQL, Kontrollera om det finns en kolumn i en tabell med SQL

  4. Aggregerande (x,y) koordinatpunktmoln i PostgreSQL