Oracle
 sql >> база данни >  >> RDS >> Oracle

Пример за Oracle FOR LOOP REVERSE

В Oracle PL/SQL FOR LOOP с клауза REVERSE се използва за повторение на итерацията на цикъла в обратен ред. Следват синтаксисът и примерите за REVERSE FOR LOOP .

Синтаксис

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

Примери за Oracle FOR LOOP REVERSE

1. Отпечатайте номера в обратен ред

В следващия пример той ще отпечата числото от 1 до 5 в обратен ред.

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

Изход:

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

2. Отпечатайте датата в обратен ред

В следващия пример ще отпечата датата от 1 януари 2018 г. до 5 януари 2018 г. в обратен ред. Ето малката сложна част, защото FOR LOOP само увеличава или намалява числата, така че първо преобразувам датата в число и след това преобразувам обратно към датата при печат.

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

Изход:

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

Вижте също:

  • Примери за Oracle TO_CHAR(число)
  • Примери за Oracle TO_CHAR(дата)
  • Примери за функции на 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. Как мога да намеря кои таблици препращат към дадена таблица в Oracle SQL Developer?

  2. Oracle PL/SQL:Проверете дали BLOB или CLOB са празни

  3. ORA-01008:не всички променливи са обвързани. Те са обвързани

  4. Как да видите изображение от колона blob в Oracle с JasperReports?

  5. C#:Обектът не може да бъде прехвърлен от DbNull към други типове