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

Sådan itererer du over et datointerval i PL/SQL

En løsning, som jeg bruger til dette, er at konvertere datointervallet til et heltalsinterval, som du kan bruge i en for-løkke, og derefter konvertere tilbage til en dato for at gøre ting med det. Du kan ikke lave nogen joins eller noget på denne måde, men det er en meget mindre løsning end dem, der allerede har postet:

declare
  start_date number;
  end_date number;
  business_date varchar2(8);
begin
  start_date := to_number(to_char(to_date('2013-04-25', 'yyyy-MM-dd'), 'j'));
  end_date := to_number(to_char(to_date('2013-05-31', 'yyyy-MM-dd'), 'j'));
  for cur_r in start_date..end_date loop
    business_date := to_char(to_date(cur_r, 'j'), 'yyyy-MM-dd');
    dbms_output.put_line(business_date);
  end loop;
end;


  1. SQL LocalDB vs SQL Server CE

  2. Android-setPeriodic for JobScheduler virker ikke

  3. Sådan indstilles mandag som første dag i ugen i SQL Server

  4. Skal erklære variablen @myvariable fejl med ADO-parameteriseret forespørgsel