Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL:Вземете записи, създадени във времеви диапазон за конкретни дати

В Oracle можем да превърнем датите в числа и да приложим аритметика към тях по различни начини.

Например sysdate-7 ни дава датата преди седем дни. trunc(some_date) премахва елемента за време от колона с дата. И to_char(some_date, 'SSSSS') ни дава своя времеви елемент като брой секунди от полунощ. Така че 06:45:00 е 24 300 секунди, а 18:15:59 е 69 359 секунди (моля, проверете тези числа, тъй като те са на гърба на плика).

Както и да е, обединявайки всичко това в една заявка като тази...

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

... ще създаде всички записи, създадени през последната седмица с елемент от време в рамките на основните часове.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разлика между BYTE и CHAR в типовете данни на колоните

  2. Материализиран изглед спрямо таблици:Какви са предимствата?

  3. Как да форматирате число като валута в Oracle

  4. Как да създадете чужд ключ в Oracle SQL Developer?

  5. Как да редактирате съхранена процедура в Oracle SQL Developer?