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

Przykład Oracle FOR LOOP REVERSE

W Oracle PL/SQL FOR LOOP z klauzulą ​​REVERSE służy do powtarzania iteracji pętli w odwrotnej kolejności. Poniżej znajduje się składnia i przykłady dla REVERSE FOR LOOP .

Składnia

FOR n IN REVERSE start_number .. end_number LOOP
-- statement to execute in every iteration
END LOOP;

Oracle FOR LOOP Przykłady

1. Wydrukuj numer w odwrotnej kolejności

W poniższym przykładzie wydrukuje liczbę od 1 do 5 w odwrotnej kolejności.

SET SERVEROUTPUT ON;
BEGIN
FOR i IN REVERSE 1 .. 5
LOOP
DBMS_OUTPUT.put_line (i);
END LOOP;
END;
/

Wyjście:

5
4
3
2
1
PL/SQL procedure successfully completed.

2. Wydrukuj datę w odwrotnej kolejności

W poniższym przykładzie wydrukuje datę od 1 stycznia 2018 do 5 stycznia 2018 w odwrotnej kolejności. Oto mała trudna część, ponieważ FOR LOOP tylko zwiększa lub zmniejsza liczby, więc najpierw konwertuję datę na liczbę, a następnie konwertuję z powrotem na datę podczas drukowania.

SET SERVEROUTPUT ON;
DECLARE
start_date DATE := '01jan2018';
end_date DATE := '05jan2018';
BEGIN
FOR i IN REVERSE TO_CHAR (start_date, 'yyyymmdd') .. TO_CHAR (end_date,
'yyyymmdd')
LOOP
DBMS_OUTPUT.put_line (TO_CHAR (TO_DATE (i, 'yyyymmdd'), 'dd/mm/yyyy'));
END LOOP;
END;
/

Wyjście:

05/01/2018
04/01/2018
03/01/2018
02/01/2018
01/01/2018
PL/SQL procedure successfully completed.

Zobacz też:

  • Oracle TO_CHAR(liczba) Przykłady
  • Oracle TO_CHAR(data) Przykłady
  • Przykłady funkcji Oracle TO_DATE
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co zrobić, jeśli podczas korzystania ze sterownika Easysoft Oracle ODBC w wersji OCI nie można otworzyć pliku obiektu współdzielonego?

  2. Dlaczego klauzula Oracle IN ma limit 1000 tylko dla danych statycznych?

  3. CONNECT BY lub zapytania hierarchiczne w RDBMS innych niż Oracle

  4. Jak utworzyć użytkownika i przyznać uprawnienia w Oracle

  5. java - przekazywanie tablicy w procedurze składowanej Oracle