You are on page 1of 2

Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1

Práctica 3: Funciones que Afectan a un único Registro/Fila


--------------------------------------------------------------------
Ejercicio 1:
SQL> SELECT SYSDATE as "Date" FROM DUAL;
Ejercicio 2:
SQL> SELECT EMPNO, ENAME, SAL, TRUNC(SAL*1.15) as "New Salary" FROM EMP;
SQL> save p3q2.sql
Ejercicio 3:
SQL> start p3q2.sql
Ejercicio 4:
SQL> SELECT EMPNO, ENAME, SAL, TRUNC(SAL*1.15) as "New Salary", (TRUNC(S
AL*1.15)-SAL) as "Increase" FROM EMP;
SQL> save p3q3.sql
SQL> start p3q3.sql
Ejercicio 5:
SQL> SELECT ENAME, HIREDATE, SAL, TO_CHAR( NEXT_DAY( ADD_MONTHS( HIREDAT
E, 6 ) , 'Lunes') , 'fmDAY" the "fmDDSPTH" of "fmMONTH", "fmYYYY') as "REVIEW" F
ROM EMP;
Ejercicio 6:
SQL> SELECT ENAME, ROUND( MONTHS_BETWEEN( SYSDATE , HIREDATE ) ) as "MON
THS_WORKED" FROM EMP ORDER BY ROUND( MONTHS_BETWEEN( SYSDATE , HIREDATE ) );
Ejercicio 7:
SQL> SELECT ENAME || ' earn' || TO_CHAR( SAL , '$99999.99' ) || ' monthl
y but wants' || TO_CHAR( 3*SAL , '$99999.99' ) ||'.' as "Dream Salaries" FROM EM
P;
Ejercicio 8:
SQL> SELECT ENAME, LPAD( SAL, 15, '$') as "SALARY" FROM EMP;
Ejercicio 9:
SQL> SELECT INITCAP(ENAME) as "Name", LENGTH(ENAME) as "Length" FROM EMP
WHERE SUBSTR(ENAME,1,1) IN ('J','A','M');
Ejercicio 10:
SQL> SELECT ENAME, HIREDATE, TO_CHAR(HIREDATE,'fmDAY') as "DAY" FROM EMP
ORDER BY NEXT_DAY(HIREDATE,'Lunes');
Ejercicio 11:
SQL> SELECT ENAME, DECODE( NVL(COMM,0) , 0 , 'No Commission', (comm*sal)
/100 ) as "COMM" FROM EMP;
Ejercicio 12:
SQL> SELECT ENAME || ' ' || LPAD( '*' , SAL/100 , '*' ) as "EMPLOYEE_AND
_THEIR_SALARIES" FROM EMP ORDER BY ( SAL/100 ) DESC;
Ejercicio 13:
SQL> SELECT JOB, DECODE( JOB, 'PRESIDENT', 'A', 'MANAGER', 'B', 'ANALYST
', 'C', 'SALESMAN', 'D', 'CLERK', 'E', JOB, 'O') as "GRADE" FROM EMP;

You might also like