zoukankan      html  css  js  c++  java
  • OCP-1Z0-051-题目解析-第6题

    6. Examine the structure of the SHIPMENTS table:

    name                    Null         Type

    PO_ID               NOT NULL    NUMBER(3)

    PO_DATE           NOT NULL    DATE

    SHIPMENT_DATE    NOT NULL    DATE

    SHIPMENT_MODE                 VARCHAR2(30)

    SHIPMENT_COST                 NUMBER(8,2)

    You want to generate a report that displays the PO_ID and the penalty amount to be paid if the

    SHIPMENT_DATE is later than one month from the PO_DATE. The penalty is $20 per day.

    Evaluate the following two queries:

    (题意:题目给了一个发货表Shipments,当中有PO_DATE和SHIPMENT_DATE 字段,假设SHIPMENT_DATE比PO_DATE迟一个月,则每多一天罚款20,对此,请评价以下给出的两个sql语句)

    SQL> SELECT po_id, CASE
    WHEN MONTHS_BETWEEN (shipment_date,po_date)>1 THEN
    TO_CHAR((shipment_date - po_date) * 20) ELSE 'No Penalty' END PENALTY
    FROM shipments;

    SQL>SELECT po_id, DECODE
    (MONTHS_BETWEEN (po_date,shipment_date)>1,
    TO_CHAR((shipment_date - po_date) * 20), 'No Penalty') PENALTY   
    FROM shipments;

    Which statement is true regarding the above commands?

    A. Both execute successfully and give correct results.

    B. Only the first query executes successfully but gives a wrong result.

    C. Only the first query executes successfully and gives the  correct result.

    D. Only the second query executes successfully but gives a wrong result.

    E. Only the second query executes successfully and gives the correct result.

    Answer: C

    decode函数的语法是,decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

    对照。上面decode使用错误。Case...When的语法是正确的,而且语句写的也是正确的,能够得到正确的结果。

    第二个decode语法能够这样改,使用sign函数推断大小。

     

    1 SELECT po_id, DECODE
    2 (SIGN(MONTHS_BETWEEN(po_date,shipment_date)),1 
    3 TO_CHAR((shipment_date - po_date) * 20), 'No Penalty') PENALTY
    4 FROM shipments;

     

  • 相关阅读:
    怎样删掉vc++ 对话框中的蓝色虚线框
    显示隐藏文件.reg
    WIMBuilder2软件包及精简方案,请把补丁包放到指定位置
    支持TV远程控制的WIN10PEX64_17763网络版by双心
    opera11以下添加搜索引擎的办法
    后来,我发现,要想用好WIMBuilder2你必须具有以下能力:
    关于远程装机
    夏普复印机解锁码
    SCITE设置修改说明
    c++的CreateFile导致内存不能为written错误
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5231260.html
Copyright © 2011-2022 走看看