Practical Practice 10

Oracle Practice
Write a program to convert days into years, weeks and days in PLSQL block.
Write a program to convert days into years, weeks and days in PLSQL block.
SOLUTION
--Static code
SET SERVEROUTPUT ON;
DECLARE
total_days NUMBER := 400;
years NUMBER;
weeks NUMBER;
days NUMBER;
BEGIN
years := FLOOR(total_days / 365);
weeks := FLOOR(MOD(total_days, 365) / 7);
days := MOD(total_days, 365) MOD 7;
DBMS_OUTPUT.PUT_LINE('Total days: ' || total_days);
DBMS_OUTPUT.PUT_LINE('Equivalent to: ' || years || ' year(s), ' || weeks || ' week(s), and ' || days || ' day(s)');
END;
/

--Dynamic code
SET SERVEROUTPUT ON;
DECLARE
total_days NUMBER := &total_days;
years NUMBER;
weeks NUMBER;
days NUMBER;
BEGIN
years := FLOOR(total_days / 365);
weeks := FLOOR(MOD(total_days, 365) / 7);
days := MOD(total_days, 365) MOD 7;
DBMS_OUTPUT.PUT_LINE('Total days: ' || total_days);
DBMS_OUTPUT.PUT_LINE('Equivalent to: ' || years || ' year(s), ' || weeks || ' week(s), and ' || days || ' day(s)');
END;
/

--Dynamic code SET SERVEROUTPUT ON; DECLARE total_days NUMBER := &total_days; years NUMBER; weeks NUMBER; days NUMBER; BEGIN years := FLOOR(total_days / 365); weeks := FLOOR(MOD(total_days, 365) / 7); days := MOD(total_days, 365) MOD 7; DBMS_OUTPUT.PUT_LINE('Total days: ' || total_days); DBMS_OUTPUT.PUT_LINE('Equivalent to: ' || years || ' year(s), ' || weeks || ' week(s), and ' || days || ' day(s)'); END; /