1Z0-051 QUESTION 10 运算的时候注意括号的位置和隐式转换

QUESTION 10
View the Exhibit; e xamine the structure of the PROMOTIONS table.
Each promotion has a duration of at least seven days .
Your manager has asked you to generate a report, which provides the weekly cost for each promotion
done to l date.

Which query would achieve the required result?


A. SELECT promo_name, promo_cost/promo_end_date-promo_begin_date/7 FROM promotions;
B. SELECT promo_name,(promo_cost/promo_end_date-promo_begin_date)/7 FROM promotions;
C. SELECT promo_name, promo_cost/(promo_end_date-promo_begin_date/7) FROM promotions;
D. SELECT promo_name, promo_cost/((promo_end_date-promo_begin_date)/7) FROM promotions;


答案:D

解析:

SQL> create table promotions(
  2  promo_id number(6) not null,
  3  promo_name varchar2(30) not null,
  4  promo_subcategory varchar(30) not null,
  5  promo_subcategrory_id number not null,
  6  promo_gategory varchar2(30) not null,
  7  promo_gategory_id number not null,
  8  promo_cost number(10,2) not null,
  9  promo_begin_date date not null,
 10  promo_end_date date not null);

表已创建。

SQL> insert into promotions values(100001,'testname','testsubcategory',1,'testca
tegory',1,140000,sysdate-14,sysdate)
  2  ;

已创建 1 行。
--A选项报错
SQL> SELECT promo_name, promo_cost/promo_end_date-promo_begin_date/7 FROM promot
ions;
SELECT promo_name, promo_cost/promo_end_date-promo_begin_date/7 FROM promotions
                              *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 DATE

--B选项报错
SQL> SELECT promo_name,(promo_cost/promo_end_date-promo_begin_date)/7 FROM promo
tions;
SELECT promo_name,(promo_cost/promo_end_date-promo_begin_date)/7 FROM promotions

                              *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 DATE
--C选项报错
SQL> SELECT promo_name, promo_cost/(promo_end_date-promo_begin_date/7) FROM prom
otions;
SELECT promo_name, promo_cost/(promo_end_date-promo_begin_date/7) FROM promotion
s
                                              *
第 1 行出现错误:
ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 DATE

--D选项可以执行
SQL> SELECT promo_name, promo_cost/((promo_end_date-promo_begin_date)/7) FROM pr
omotions;

PROMO_NAME                     PROMO_COST/((PROMO_END_DATE-PROMO_BEGIN_DATE)/7)
------------------------------ ------------------------------------------------
testname                                                                  70000


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值