sql >> Database teknologi >  >> RDS >> Oracle

SQL:Få oprettet registreringer i tidsinterval for bestemte datoer

I Oracle kan vi omdanne datoer til tal og anvende aritmetik på dem på en række forskellige måder.

For eksempel sysdate-7 giver os datoen for syv dage siden. trunc(some_date) fjerner tidselementet fra en datokolonne. Og to_char(some_date, 'SSSSS') giver os sit tidselement som antallet af sekunder siden midnat. Så 06:45:00 er 24300 sekunder og 18:15:59 er 69359 sekunder (tjek venligst disse tal, da de ligger bag på en konvolut).

I hvert fald, at sætte det hele sammen i en enkelt forespørgsel som denne ...

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

... vil producere alle de poster, der er oprettet i den sidste uge med et tidselement inden for kernetimer.



  1. Analyser Big Data med Microsoft Azure Tools

  2. Sådan oprettes brugerdefineret registreringsdatatypevariabel i Oracle-databasen

  3. Close blev aldrig eksplicit kaldt på Database

  4. SQLite-indstilling af ydeevne