Подсчитайте количество особого дня между двумя датами с помощью PL / SQL
Предварительные требования - Введение в PL / SQL, принятие решений в PL / SQL
Напишите программу pl / sql для ввода двух дат и вывода количества воскресений между этими двумя датами.
Объяснение:
Перед каждой итерацией цикла оценивается состояние. Если он оценивается как ИСТИНА , выполняется последовательность_условий. Если условие оценивается как FALSE или NULL , цикл завершается, и управление возобновляется после операторов END LOOP.
Примечание:
Единственная разница между простым циклом и циклом while заключается в том, что сначала выполняется простое выполнение, а затем выполняется проверка условия, поэтому простой цикл выполняется хотя бы один раз, а в цикле while сначала проверяется условие, а затем выполняется.
Пример-1:
Ввод: введите значение для date1: 01-SEP-19 Введите значение для date2: 29-SEP-19 Выход: нет воскресений: 5
Пример-2:
Ввод: введите значение для date1: 01-SEP-19 Введите значение для date2: 15-SEP-19 Выход: нет воскресений: 3
Код:
--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 |
Выход:
Введите значение для date1: 01-SEP-19 старый 5: Начало D1: = '& Date1'; новый 5: Начало D1: = '01-SEP-19'; Введите значение для date2: 29-SEP-19 старый 6: D2: = '& Date2'; новый 6: D2: = '29-SEP-19'; Кол-во воскресений: 5
Процедура PL / SQL успешно завершена.
Преимущества:-
Используя сначала цикл while, он проверяет условие, а затем выполняет его, поэтому мы легко подсчитываем количество особого дня между двумя датами.