1. 程式人生 > >OCP 1Z0 051 V9 02 105題

OCP 1Z0 051 V9 02 105題

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

               

105. 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    NOT NULL    DATE

You want to display the list of promo names with the message 'Same Day' for promos that started and

ended on the same day.

Which query gives the correct output?

A. SELECT promo_name, NVL(NULLIF(promo_start_date, promo_end_date), 'Same Day') 

FROM promos;

B. SELECT promo_name, NVL(TRUNC(promo_end_date - promo_start_date), 'Same Day') FROM promos;

C. SELECT promo_name, NVL2(TO_CHAR(TRUNC(promo_end_date-promo_start_date)), NULL,'SameDay') FROM promos;

D. SELECT promo_name, DECODE((NULLIF(promo_start_date, promo_end_date)), NULL,'Same day') FROM promos;

Answer: D

答案解析:

A。NULLIF裡面額資料型別為date與 'Same Day'字串型別不匹配,錯誤。

B。TRUNC將小數部分截斷,但型別不一致,錯誤。

C。TO_CHAR(TRUNC(promo_end_date-promo_end_date)),如果相等,TRUNC為0,to_char後,字元為0,即始終有值,NVL2返回第二個值,即NULL

[email protected]>  SELECT promo_name, NVL2(TO_CHAR(TRUNC(promo_end_date-promo_end_date)), NULL,'SameDay') FROM PROMOTIONS;


PROMO_NAME                     NVL2(TO

------------------------------ -------

NO PROMOTION #

newspaper promotion #16-108

post promotion #20-232

newspaper promotion #16-349

internet promotion #14-471

D。實驗驗證:正確的。 [email protected]> SELECT  DECODE((NULLIF('11-mon-01','11-mon-01')),null,'same') from dual;   DECO ---- same


[email protected]> SELECT  DECODE(null,null,'same') from dual;   DECO ---- same  
           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述