OCP-1Z0-051-V9 02-105題
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,'Same
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
再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!希望你也加入到我們人工智慧的隊伍中來!https://www.cnblogs.com/captainbed