OCP 11g考试题库详解:1Z0-051-104题
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询OCP 11g考试题库详解:1Z0-051-104题,完整题库请点击这里联系老师咨询了解
104. Examine the structure of the PROMOS table:
name Null Type
PROMO_ID NOT NULL NUMBER(3)
PROMO_NAME VARCHAR2(30)
PROMO_START_DATE NOT NULL DATE
PROMO_END_DATE DATE
You want to generate a report showing promo names and their duration (number of days). If the
PROMO_END_DATE has not been entered, the message 'ONGOING' should be displayed.
Which queries give the correct output? (Choose all that apply.)
A. SELECT promo_name, TO_CHAR(NVL(promo_end_date -promo_start_date,'ONGOING'))
FROM promos;
B. SELECT promo_name,COALESCE(TO_CHAR(promo_end_date - promo_start_date),'ONGOING')
FROM promos;
C. SELECT promo_name, NVL(TO_CHAR(promo_end_date -promo_start_date),'ONGOING')
FROM promos;
D. SELECT promo_name, DECODE(promo_end_date -promo_start_date,NULL,'ONGOING',promo_end_date - promo_start_date)
FROM promos;
E. SELECT promo_name, decode(coalesce(promo_end_date,promo_start_date),null,'ONGOING',
promo_end_date - promo_start_date)
FROM promos;
Answer: BCD
试题解析:
ANVL要求括号内参数的类型需一致,,NVL(promo_end_date -promo_start_date,'ONGOING')此处类型不一致,一个为数值型,一个为字符型
B, COALESCE 需括号内参数类型需一致,TO_CHAR(promo_end_date - promo_start_date),'ONGOING') ,此处使用to_char转换,两个参数都为字符型,可以比较。正确。
C, NVL(TO_CHAR(promo_end_date -promo_start_date),'ONGOING'),NVL括号内两个参数都为字符型,正确。
D,表达式正确
E,不满足题意,coalesce返回第一个不为空的值,因为promo_start_date肯定不为空,所以即使promo_end_date为空,coalesce也会返回promo_start_dat,所以都会显示promo_end_date - promo_start_date值,即当promo_end_date为空时,还是会显示空(注意,如果你直接指定NULL-sysdate会报转换数据类型错,而在字段里就可以减,并返回空。