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

Jak uzyskać tygodniowe dane w Oracle?

To zależy, czego szukasz. Jeśli minie kolejne 7 dni, to:

select * 
  from my_table
 where date_col between :my_date and :my_date + 7

Jeśli chcesz powiedzieć od poniedziałku do niedzieli, użyj next_day funkcja:

select *
  from my_table
 where date_col between next_day(:my_date, 'Monday') - 7 
                    and next_day(:my_date, 'Monday')

Oba gdzie :my_date to data twojego przejścia.

Jeśli nie przekazujesz daty, ale ciąg, to pierwszy stanie się, używając to_date funkcja:

select *
  from my_table
 where date_col between to_date(:my_date,'dd/mm/yyy') + 7
                    and to_date(:my_date,'dd/mm/yyy')

i mógłbyś zrobić coś podobnego przez sekundę. Jeśli musisz użyć to_date następnie date_col powinien mieć indeks oparty na funkcjach w dniu to_date(date_col,'dd/mm/yyyy') lub jeśli zamierzasz przekonwertować go inaczej niż w ten sposób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę uzyskać wartości liczbowe Oracle do .NET bez zer?

  2. Łącz i grupuj wiele wierszy w Oracle

  3. Jak mogę uzyskać region strefy czasowej z SQLPLUS?

  4. Oracle 11g — Jak zoptymalizować powolny wybór wstawiania równoległego?

  5. Jak zwrócić dzisiejszą datę do zmiennej w Oracle