Extending SQL NVL functionality

FUNCTION xNVL (p_Source IN NUMBER, p_IsNullValue IN NUMBER, p_IsNotNullValue IN NUMBER) RETURN NUMBER
IS
BEGIN
IF p_Source IS NULL THEN
RETURN p_IsNullValue;
ELSE
RETURN p_IsNotNullValue;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;

FUNCTION xNVL (p_Source IN VARCHAR2, p_IsNullValue IN VARCHAR2, p_IsNotNullValue IN VARCHAR2) RETURN VARCHAR2
IS
BEGIN
IF p_Source IS NULL THEN
RETURN p_IsNullValue;
ELSE
RETURN p_IsNotNullValue;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;

FUNCTION xNVL (p_Source IN DATE, p_IsNullValue IN DATE, p_IsNotNullValue IN DATE) RETURN DATE
IS
BEGIN
IF p_Source IS NULL THEN
RETURN p_IsNullValue;
ELSE
RETURN p_IsNotNullValue;
END IF;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;

Pages: 1 · 2