Mega Code Archive

 
Categories / Oracle PLSQL / Numeric Math Functions
 

Use sign function in user-defined function

SQL> SQL> CREATE OR REPLACE FUNCTION get_num (   2     p_highval             NUMBER,   3     p_lowval              NUMBER := 0,   4     p_negatives_allowed   BOOLEAN := FALSE,   5     p_scale               PLS_INTEGER := 0   6  )   7     RETURN NUMBER   8  IS   9     l_ret   NUMBER;  10     l_sign   NUMBER := 1;  11  BEGIN  12     IF (p_negatives_allowed) THEN  13        l_sign := SIGN (DBMS_RANDOM.random);  14     END IF;  15  16     l_ret := l_sign * ROUND (DBMS_RANDOM.VALUE (p_lowval, p_highval), p_scale);  17     RETURN l_ret;  18  END;  19  / Function created.