《Oracle 11g数据库编程入门与实战》习题答案 第四章

第四章 SQL单行函数

1D

2D

3A

4

--1

SQL>SELECT cust_id, cname,

NVL(TO_CHAR(birthday, 'yyyy-mm-dd'), 'not avilable'), NVL(TO_CHAR(account), 'no data')

FROM customer;

--2

SQL>SELECT * FROM customer

WHERE TO_CHAR(birthday, 'yyyy') = '1987';

--3

SQL>SELECT SUM(account) FROM customer;

5

SQL>SELECT TO_CHAR(SYSDATE, 'yyyy-mm-dd hh24:mi:ss' )

FROM DUAL;

6

SQL>SELECT empno, ename, NVL(sal, 0 ) + NVL(comm,0)

FROM emp;

7

SQL>SELECT ename, sal, job FROM emp

WHERE LENGTH(ename) = 5;

8

SQL>SELECT ename, hiredate,

ROUND(MONTHS_BETWEEN(SYSDATE, hiredate)) worktime

FROM emp;

9

SQL>SELECT ename name, LPAD(sal, 15, '$') salary

FROM emp;

10

SQL>SELECT ename, TO_CHAR(sal, 'L9999.00') FROM emp

WHERE sal > 2000 ORDER BY sal DESC;

11

SQL>SELECT ename || ' earns ' || sal

||' monthly but wants ' || sal * 3

FROM emp;

12

SQL>SELECT ename,

TO_CHAR(hiredate, 'yyyy-mm-dd') hiredate,

TO_CHAR(hiredate, 'yyyy""mm""dd') review

FROM emp;

13

SQL>SELECT ename, job,

DECODE(job,'PRESIDENT','A',

'MANAGER','B',

'ANALYST','C',

'SALESMAN','D',

'CLERK','E'

) AS "Grade"

FROM EMP;

14

SQL>SELECT ename, job,

CASE job WHEN 'PRESIDENT' THEN 'A'

WHEN 'MANAGER' THEN 'B'

WHEN 'ANALYST' THEN 'C'

WHEN 'SALESMAN' THEN 'D'

WHEN 'CLERK' THEN 'E'

END AS "Grade"

FROM EMP;

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11168/viewspace-1035528/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11168/viewspace-1035528/