The function NVL returns the value of its second argument if its first argument is null. In the example below, if hire_date is null, NVL returns the value of SYSDATE. Otherwise, NVL returns the value of hire_date: start_date := NVL(hire_date, SYSDATE); The function REPLACE returns the value of its first argument if its second argument is null, whether the optional third argument is present or not. For instance, after the assignment new_string := REPLACE(old_string, NULL, my_string); the values of old_string and new_string are the same. If its third argument is null, REPLACE returns its first argument with every occurrence of its second argument removed. For example, after the assignments syllabified_name := 'Gold-i-locks'; name := REPLACE(syllabified_name, '-', NULL); the value of name is 'goldilocks' If its second and third arguments are null, REPLACE simply returns its first argument.