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

Sådan får du ugevis data i Oracle

Det afhænger af, hvad du leder efter. Hvis du er ude efter de næste 7 dage, så:

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

Hvis du vil sige mandag til søndag, så brug next_day funktion:

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

Begge hvor :my_date er den dato, du passerer ind.

Hvis du ikke sender en dato, men en streng, ville den første blive ved at bruge to_date funktion:

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

og du kunne gøre noget lignende for det andet. Hvis du skal bruge to_date derefter date_col skal have et funktionsbaseret indeksto_date(date_col,'dd/mm/yyyy') eller hvis du vil konvertere det anderledes så på den måde.



  1. Upload CSV-fil til SQL-server

  2. Formater SQLite-forespørgselsresultater som en kommasepareret liste

  3. Hvorfor giver mysql fejlen ER_TABLE_NOT_LOCKED, mens jeg lige har låst bordet?

  4. App stoppede med at fungere på grund af database