Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Ví dụ về Oracle FOR LOOP REVERSE

Trong Oracle PL / SQL, mệnh đề FOR ​​LOOP with REVERSE được sử dụng để lặp lại lặp vòng lặp theo thứ tự ngược lại. Sau đây là cú pháp và ví dụ cho REVERSE FOR LOOP .

Cú pháp

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

Ví dụ về Oracle FOR LOOP REVERSE

1. In số theo thứ tự ngược lại

Trong ví dụ sau, nó sẽ in số từ 1 đến 5 theo thứ tự ngược lại.

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

Đầu ra:

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

2. Ngày in theo thứ tự ngược lại

Trong ví dụ sau, nó sẽ in ngày từ ngày 1 tháng 1 năm 2018 đến ngày 5 tháng 1 năm 2018 theo thứ tự ngược lại. Đây là một phần nhỏ khó khăn, bởi vì FOR LOOP chỉ tăng hoặc giảm các số, vì vậy trước tiên tôi chuyển đổi ngày thành một số và sau đó chuyển đổi trở lại ngày khi in.

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;
/

Đầu ra:

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

Xem thêm:

  • Ví dụ về Oracle TO_CHAR (số)
  • Ví dụ về Oracle TO_CHAR (ngày tháng)
  • Ví dụ về hàm TO_DATE trong Oracle
  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GATHER_PLAN_STATISTICS không tạo thống kê kế hoạch cơ bản

  2. regexp_substr bỏ qua các vị trí trống

  3. Lỗi tắt máy Oracle ORA-01033

  4. Khung thực thể và nhiều lược đồ

  5. Sử dụng Tên dịch vụ Oracle với SQLAlchemy