您的位置:首页 > 产品设计 > UI/UE

OCP 1Z0 051 QUESTION NO: 3

2014-06-02 16:16 656 查看
QUESTION NO: 3

Here is the structure and data of the CUST_TRANS table:



Exhibit:

Dates are stored in the default date format dd-mm-rr in the CUST_TRANS table.

Which three SQL statements would execute successfully? (Choose three.)

A. SELECT transdate + '10' FROM cust_trans;

B. SELECT * FROM cust_trans WHERE transdate = '01-01-07';

C. SELECT transamt FROM cust_trans WHERE custno > '11';

D. SELECT * FROM cust_trans WHERE transdate='01-JANUARY-07';

E. SELECT custno + 'A' FROM cust_trans WHERE transamt > 2000;

TEST >CREATE TABLE CUST_TRANS
2  (
3  custno char(2),
4  transdate DATE,
5  transamt NUMBER(6,2)
6  );

Table created.

TEST >show parameter nls_date_for

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
nls_date_format                      string      DD-MON-RR
TEST >insert into cust_trans values(11,'01-jan-07',1000);

1 row created.

TEST >insert into cust_trans values(22,'01-feb-07',2000);

1 row created.

TEST >insert into cust_trans values(33,'01-mar-07',3000);<pre name="code" class="sql">
1 row created.


A 字符串'10'可以隐式转换为数字10
TEST >SELECT transdate + '10' FROM cust_trans;

TRANSDATE+'1
------------
11-JAN-07
11-FEB-07
11-MAR-07

3 rows selected.


B 格式不对,根据图中所示 默认格式为DD-MON-RR

TEST >SELECT * FROM cust_trans WHERE transdate = '01-01-07';
SELECT * FROM cust_trans WHERE transdate = '01-01-07'
*
ERROR at line 1:
ORA-01843: not a valid month


C 同1一样。varchar2可以转为char

TEST >SELECT transamt FROM cust_trans WHERE custno > '11';

TRANSAMT
----------
2000
3000

2 rows selected.


D 当字符串与客户端格式设置一致时可以自动转为date

TEST >SELECT * FROM cust_trans WHERE transdate='01-JANUARY-07';

CU TRANSDATE      TRANSAMT
-- ------------ ----------
11 01-JAN-07          1000

1 row selected.


E 字符串连接用 || ,而+号只能用于数字相加。'A'不能转成数字,所以报错。

TEST >SELECT custno + 'A' FROM cust_trans WHERE transamt > 2000;
SELECT custno + 'A' FROM cust_trans WHERE transamt > 2000
*
ERROR at line 1:
ORA-01722: invalid number

Elapsed: 00:00:00.03
TEST >SELECT custno + '1' FROM cust_trans WHERE transamt > 2000;

CUSTNO+'1'
----------
34

1 row selected.


Answer: A,C,D
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: