Oracle Database Administration I — Question 34
The EMPLOYEES table contains columns EMP_ID of data type NUMBER and HIRE_DATE of data type DATE.
You want to display the date of the first Monday after the completion of six months since hiring.
The NLS_TERRITORY parameter is set to AMERICA in the session and, therefore, Sunday is the first day on the week.
Which query can be used?
Answer options
- A. SELECT emp_id, ADD_MONTHS(hire_date, 6), NEXT_DAY('MONDAY') FROM employees;
- B. SELECT emp_id, NEXT_DAY(ADD_MONTHS(hire_date, 6), 'MONDAY') FROM employees;
- C. SELECT emp_id, NEXT_DAY(MONTHS_BETWEEN(hire_date, SYSDATE), 6) FROM employees;
- D. SELECT emp_id, NEXT_DAY(ADD_MONTHS(hire_date, 6), 1) FROM employees;
Correct answer: B
Explanation
The correct answer is B because it correctly adds six months to the hire date and then finds the next Monday after that date. Option A does not use the hire date correctly in relation to finding the next Monday, while option C calculates months between dates incorrectly and option D uses an incorrect parameter for NEXT_DAY, resulting in an invalid query.