Advertisement
koudy008

Untitled

Apr 3rd, 2020
506
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.92 KB | None | 0 0
  1. CREATE OR REPLACE PACKAGE PACKAGE DATUMY AS
  2.  
  3.   FUNCTION datumy_rozdil(datum_od DATE, datum_do DATE, typ CHAR) RETURN NUMBER;
  4.  
  5.   FUNCTION pracovni_den(datum DATE) RETURN NUMBER;
  6.  
  7.   FUNCTION den_v_mesici(datum DATE, prvni NUMBER) RETURN DATE;
  8.  
  9. END DATUMY;
  10.  
  11. CREATE OR REPLACE PACKAGE BODY DATUMY AS
  12.  
  13.     FUNCTION datumy_rozdil(datum_od DATE, datum_do DATE, typ CHAR)
  14.     RETURN NUMBER AS rozdil NUMBER;
  15.     BEGIN
  16.         IF datum_od IS NOT NULL AND datum_do IS NOT NULL AND typ IN ('D','H','M','S') THEN
  17.             rozdil := datum_do - datum_od;
  18.             CASE typ
  19.                 WHEN 'D' THEN
  20.                     RETURN ROUND(rozdil, 2);
  21.                 WHEN 'H' THEN
  22.                     RETURN ROUND(rozdil*24,2);
  23.                 WHEN 'M' THEN
  24.                     RETURN ROUND(rozdil*24*60,2);
  25.                 WHEN 'S' THEN
  26.                     RETURN ROUND(rozdil*24*60*60,2);
  27.             END CASE;
  28.         ELSE
  29.             raise_application_error(-20000, 'Špatné parametry');
  30.         END IF;
  31.     EXCEPTION
  32.         WHEN OTHERS THEN RETURN NULL;
  33.     END datumy_rozdil;
  34. END DATUMY;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement