OCP 1Z0 051 94

来源:互联网 发布:乐视视频 for mac 编辑:程序博客网 时间:2024/05/26 15:58
94. Examine the structure of the PROGRAMS table: 
name            Null        Type 
PROG_ID         NOT NULL    NUMBER(3) 
PROG_COST                  NUMBER(8,2) 
START_DATE      NOT NULL    DATE 
END_DATE                   DATE 
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; 

nvl要求两个参数类型一致,或可以隐式转换
B 中两列类型如下
SQL> CREATE TABLE t1 AS  2  SELECT SYSDATE - end_date AS c1, SYSDATE AS c2  3    FROM (SELECT p.promo_id, p.promo_end_date AS end_date  4            FROM sh.promotions p  5           WHERE rownum <= 5);Table createdExecuted in 0.172 secondsSQL> DESC t1;Name Type   Nullable Default Comments ---- ------ -------- ------- -------- C1   NUMBER Y                         C2   DATE   Y  

C 中两列类型如下
SQL> CREATE TABLE t1 AS  2  SELECT months_between(start_date, end_date) AS c1, 'Ongoing' AS c2  3    FROM (SELECT p.promo_id,  4                 p.promo_begin_date AS start_date,  5                 p.promo_end_date   AS end_date  6            FROM sh.promotions p  7           WHERE rownum <= 5);Table createdExecuted in 0.047 secondsSQL> DESC t1;Name Type    Nullable Default Comments ---- ------- -------- ------- -------- C1   NUMBER  Y                         C2   CHAR(7) Y  

SQL> SELECT nvl(add_months(end_date, 1), SYSDATE)  2    FROM (SELECT p.promo_id,  3                 p.promo_begin_date AS start_date,  4                 p.promo_end_date   AS end_date  5            FROM sh.promotions p  6           WHERE rownum <= 5);NVL(ADD_MONTHS(END_DATE,1),SYS------------------------------9999-2-12001-2-231998-12-251998-10-102000-4-265 rows selected

SQL> SELECT nvl(to_char(months_between(start_date, end_date)), 'Ongoing')  2    FROM (SELECT p.promo_id,  3                 p.promo_begin_date AS start_date,  4                 p.promo_end_date   AS end_date  5            FROM sh.promotions p  6           WHERE rownum <= 5);NVL(TO_CHAR(MONTHS_BETWEEN(STA----------------------------------------0-1-2-2-15 rows selected


Answer: AD 
0 0