OCP-1Z0-051-V9.02-84题

84. View the Exhibit and examine the structure of the EMPLOYEES table.

Examine the data in the ENAME and HIREDATE columns of the EMPLOYEES table:

ENAME       HIREDATE

SMITH       17-DEC-80

ALLEN       20-FEB-81

WARD        22-FEB-81

You want to generate a list of user IDs as follows:

USERID

Smi17DEC80

All20FEB81

War22FEB81   

You issue the following query: 

SQL>SELECT CONCAT(SUBSTR(INITCAP(ename),1,3), REPLACE(hiredate,'-')) "USERID" FROM employees;

What is the outcome? 

A. It executes successfully and gives the correct output.

B. It executes successfully but does not give the correct output.

C. It generates an error because the REPLACE function is not valid.

D. It generates an error because the SUBSTR function cannot be nested in the CONCAT function.

Answer: A

 答案解析:

参考:http://blog.csdn.net/rlhua/article/details/12848395

题意输出的要求是名字的前三位并且首字母大写,日期不要短横线。

SELECT CONCAT(SUBSTR(INITCAP(FIRST_NAME),1,3), REPLACE(HIRE_DATE,'-')) "USERID" FROM employees;

 按照hr用户的employees来实验验证:

hr@TEST0924> select FIRST_NAME,HIRE_DATE from employees;


FIRST_NAME           HIRE_DATE

-------------------- ------------------

Donald               21-JUN-07

Douglas              13-JAN-08

Jennifer             17-SEP-03

REPLACE(HIRE_DATE,'-')去掉日期中间的短横线,INITCAP(FIRST_NAME)首字母大写,(SUBSTR(INITCAP(FIRST_NAME),1,3)去前三位,并且首字母大写,

CONCAT(SUBSTR(INITCAP(FIRST_NAME),1,3), REPLACE(HIRE_DATE,'-'))两个字符串连接。

结果如下:

hr@TEST0924> SELECT CONCAT(SUBSTR(INITCAP(FIRST_NAME),1,3), REPLACE(HIRE_DATE,'-')) "USERID" FROM employees;


USERID

------------------------------

Don21JUN07

Dou13JAN08

Jen17SEP03



原文地址:https://www.cnblogs.com/hzcya1995/p/13316890.html