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.
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