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

OCP 1Z0 051 V9 02 104題

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

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

               

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會報轉換資料型別錯,而在欄位裡就可以減,並返回空。
           

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

這裡寫圖片描述