Chapter 20. Conversion, Numeric, and Miscellaneous Functions

This chapter tests your ability to work with a grab-bag assortment of functions to compute mathematical equations you studied (and probably have forgotten!) in high school, convert data from one format to another, and perform miscellaneous operations such as fetching environment variables.

Beginner

20-1.

What are the only two built-in PL/SQL functions that allow you to pass in a variable number of arguments?

20-2.

Complete the following code snippet:

/* Print each character in a string */
CREATE OR REPLACE PROCEDURE nvl_test (i_val IN VARCHAR2 DEFAULT NULL)
IS
   str_len NUMBER := <your code here>;
BEGIN
   FOR i IN 1 .. str_len
   LOOP
      DBMS_OUTPUT.put_line (UPPER (SUBSTR (i_val, i, 1)));
   END LOOP;
END;

20-3.

Complete the following code snippet:

/* Set the name of the currently connected user */
BEGIN
   v_user := <your code here>;

20-4.

What function can you use to obtain a unique identifier for your session?

20-5.

What function can you use to convert a ROWID value to a string?

20-6.

Complete the following code snippet; the function should return a string consisting of today’s date formatted to a four-digit year:

CREATE OR REPLACE FUNCTION four_digit_today
   RETURN VARCHAR2
IS
BEGIN
   RETURN <your code here>;
END;

20-7.

What year number is returned by the following statement?

DBMS_OUTPUT.PUT_LINE (TO_CHAR
   (TO_DATE ('10-JAN-19', 'DD-MON-RR'), 'YYYY')_)

20-8.

To which PL/SQL package do numeric functions (CEIL, COS, EXP, etc.) belong?

  1. DBMS_MATH

  2. DBMS_NUMERIC

Get Oracle PL/SQL Programming: A Developer's Workbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.