OCP-1Z0-051 第6题 case when和decode的用法
2014-04-14 14:02
375 查看
一、原题
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:
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.
答案 C
二、原题翻译
检查SHIPMENTS表结构如下:
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)
要获取一个报表,报表内容显示PO_ID和支付的罚款总金额,SHIPMENT_DATE与PO_DATE进行比较,SHIPMENT_DATE如果比PO_DATE晚一个月,则每天罚款$20。
下面有两条查询语句:
上面的命令哪句话是正确的?
A.两个查询都成功,并且结果都正确。
B.只有第一个查询成功,但是结果是错误的。
C.只有第一个查询成功,并且结果是正确的。
D.只有第二个查询成功,但是结果是错误的。
E.只有第二个查询成功,并且结果是正确的。
关于case when和decode的相关知识请参考:
http://blog.csdn.net/holly2008/article/details/23140591
关于months_between的详细用法,请参考:
http://blog.csdn.net/holly2008/article/details/23141827
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:
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.
答案 C
二、原题翻译
检查SHIPMENTS表结构如下:
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)
要获取一个报表,报表内容显示PO_ID和支付的罚款总金额,SHIPMENT_DATE与PO_DATE进行比较,SHIPMENT_DATE如果比PO_DATE晚一个月,则每天罚款$20。
下面有两条查询语句:
上面的命令哪句话是正确的?
A.两个查询都成功,并且结果都正确。
B.只有第一个查询成功,但是结果是错误的。
C.只有第一个查询成功,并且结果是正确的。
D.只有第二个查询成功,但是结果是错误的。
E.只有第二个查询成功,并且结果是正确的。
关于case when和decode的相关知识请参考:
http://blog.csdn.net/holly2008/article/details/23140591
关于months_between的详细用法,请参考:
http://blog.csdn.net/holly2008/article/details/23141827
相关文章推荐
- OCP-1Z0-051 第104题 DECODE,NVL,COALESCE函数用法
- OCP-1Z0-051 第101题 DECODE,COUNT,CASE WHEN,SUM的使用
- OCP-1Z0-051 第15题 别名的用法
- OCP-1Z0-051 补充题库 第6题 SELECT查询语句
- OCP-1Z0-051 第12题 别名的用法
- OCP-1Z0-051 第16题 Q操作符的用法
- OCP-1Z0-051 第100题 DECODE,NULLIF函数用法
- OCP-1Z0-051 第105题 NVL,DECODE,NULLIF,TRUNC,TO_CHAR函数使用
- OCP-1Z0-051-题目解析-第6题
- OCP-1Z0-051-题目解析-第6题
- OCP-1Z0-051 第122题 NATURAL JOIN(自然连接)和USING子句的用法
- OCP-1Z0-051 补充题库 第38题 nvl用法
- OCP-1Z0-051-题目解析-第6题
- OCP-1Z0-051 第132题 LEFT OUTER JOIN,RIGHT OUTER JOIN,FULL OUTER JOIN的用法
- OCP-1Z0-051 第133题 子查询的用法
- OCP-1Z0-051 第106题 COALESCE,DECODE,NVL,NULLIF函数的使用
- OCP-1Z0-051 第134题 子查询的用法
- 1Z0-051 QUESTION 6 CASE和DECODE用法
- OCP-1Z0-051 第102题 TO_DATE,TO_CHAR,TO_NUMBER函数的用法
- OCP-1Z0-051 第130题 LEFT OUTER JOIN的用法