Prerrequisito: introducción a PL/SQL , toma de decisiones en PL/SQL
Escriba un programa pl/sql para ingresar dos fechas e imprimir el número de domingos entre esas dos fechas.
Explicación:
antes de cada iteración del ciclo, se evalúa la condición. Si se evalúa como VERDADERO , se ejecuta secuencia_de_instrucciones. Si la condición se evalúa como FALSO o NULL , el bucle finaliza y el control se reanuda después de las instrucciones END LOOP .
Nota:
La única diferencia entre el ciclo simple y el ciclo while es que primero se ejecuta simplemente y luego se verifica la condición, por lo que el ciclo simple se ejecuta al menos una vez y en el ciclo while primero se verifica la condición y luego se ejecuta.
Ejemplo 1:
Input: Enter value for date1: 01-SEP-19 Enter value for date2: 29-SEP-19 Output: no of Sundays : 5
Ejemplo-2:
Input: Enter value for date1: 01-SEP-19 Enter value for date2: 15-SEP-19 Output: no of Sundays: 3
Código:
--declare the variables D1 and D2. --type of variable is Date. SQL> DECLARE D1 Date; D2 Date; Cnt Number:=0; BEGIN D1:='&Date1'; D2:='&Date2'; D1:=next_day(D1-1, 'SUNDAY'); --check the condition by using while loop. while(D1<=D2) LOOP Cnt:=Cnt+1; D1:=D1+7; END LOOP; dbms_output.put_line('no of Sundays:'||Cnt); END; / --end of program
Producción:
Enter value for date1: 01-SEP-19 old 5: Begin D1:='&Date1'; new 5: Begin D1:='01-SEP-19'; Enter value for date2: 29-SEP-19 old 6: D2:='&Date2'; new 6: D2:='29-SEP-19'; no of Sundays:5
Procedimiento PL/SQL completado con éxito.
Ventajas: –
Al usar el bucle while primero, verifica la condición y luego ejecuta, por lo que contamos fácilmente el número de un día especial entre dos fechas.
Publicación traducida automáticamente
Artículo escrito por gangwarjacob y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA