sql >> Database >  >> RDS >> Oracle

SQL:haal records gemaakt in tijdbereik voor specifieke datums

In Oracle kunnen we datums in getallen omzetten en er op verschillende manieren rekenkunde op toepassen.

Bijvoorbeeld sysdate-7 geeft ons de datum zeven dagen geleden. trunc(some_date) verwijdert het tijdelement uit een datumkolom. En to_char(some_date, 'SSSSS') geeft ons het tijdselement als het aantal seconden sinds middernacht. Dus 06:45:00 is 24300 seconden en 18:15:59 is 69359 seconden (controleer deze cijfers, want ze staan ​​op de achterkant van een envelop).

Hoe dan ook, om dat allemaal samen te voegen in een enkele zoekopdracht als deze ...

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

... zal alle records produceren die in de afgelopen week zijn gemaakt met een tijdselement binnen kernuren.



  1. Rails:PG-edelsteen installeren op OS X - fout om native extensie te bouwen

  2. Retourwaarde van sql-script naar shell-script

  3. PostgreSQL-installatie op Docker

  4. Aanmeldingstriggers in SQL Server