OCP-1Z0-新051-61题版本-41

QUESTION NO: 41

See the structure of the PROGRAMS table:


Which two SQL statements would execute successfully? (Choose two.)

A. SELECT NVL(ADD_MONTHS(END_DATE,1),SYSDATE) FROM programs;

B. SELECT TO_DATE(NVL(SYSDATE-END_DATE,SYSDATE)) FROM programs;

C. SELECT NVL(MONTHS_BETWEEN(start_date,end_date),'Ongoing') FROM programs;

D. SELECT NVL(TO_CHAR(MONTHS_BETWEEN(start_date,end_date)),'Ongoing') FROM programs;

Answer: A,D

答案解析:

参考:94:http://blog.csdn.net/rlhua/article/details/11807135

Explanation:

NVL Function

Converts a null value to an actual value:

Data types that can be used are date, character, and number.

Data types must match:

– NVL(commission_pct,0)

Oracle 1z0-051 Exam

"Pass Any Exam. Any Time." - 100% Pass Guarantee 34

– NVL(hire_date,'01-JAN-97')

– NVL(job_id,'No Job Yet')

MONTHS_BETWEEN(date1, date2): Finds the number of months between date1 and date2

The result can be positive or negative. If date1 is later than date2, the result is positive; if date1 is

earlier than date2, the result is negative. The noninteger part of the result represents a portion of

the month.

MONTHS_BETWEEN returns a numeric value. - answer C NVL has different datatypes - numeric

and strings, which is not possible!

The data types of the original and if null parameters must always be compatible. They must either

be of the same type, or it must be possible to implicitly convert if null to the type of theoriginal

parameter. The NVL function returns a value with the same data type as the original parameter.

原文地址:https://www.cnblogs.com/hzcya1995/p/13316206.html