Oracle
 sql >> Baza danych >  >> RDS >> Oracle

SQL:Uzyskaj rekordy utworzone w przedziale czasowym dla określonych dat

W Oracle możemy zamienić daty na liczby i zastosować do nich arytmetykę na różne sposoby.

Na przykład sysdate-7 podaje nam datę sprzed siedmiu dni. trunc(some_date) usuwa element czasu z kolumny daty. I to_char(some_date, 'SSSSS') podaje nam swój element czasu jako liczbę sekund od północy. Tak więc 06:45:00 to 24300 sekund, a 18:15:59 to 69359 sekund (proszę sprawdzić te liczby, ponieważ są one z tyłu koperty).

W każdym razie, umieszczając to wszystko razem w jednym zapytaniu, takim jak to ...

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

... wygeneruje wszystkie rekordy utworzone w ciągu ostatniego tygodnia z elementem czasu w ciągu podstawowych godzin.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Domyślna kolejność wierszy dla zapytania select w Oracle

  2. Wyrocznia 12.2 Sharding

  3. TRUNC(liczba) Funkcja w Oracle

  4. Uzyskaj liczbę dni między dwiema datami w Oracle, łącznie z datami

  5. Jak tworzyć VARRAY jako element bloku PL/SQL w bazie danych Oracle