SQL em Oracle > DML > Funções > Funções de linha > Soluções dos exercícios sobre funções de linha
Soluções dos exercícios sobre funções de linha tl_logo2.jpg

1.

select deptno, ename, round(sal*1.15) "Percentagem salário" from emp;

2.

No ambiente SQL*Plus standard:

select rpad(ename,20,'*')||lpad(job,20,'*') from emp;

No ambiente iSQL*PLus o resultado aparece em HTML. Os browsers usam uma fonte de caractares não proporcional e por isso os caracteres não ocupam todos o mesmo espaço. Neste caso devemos usar o comando abaixo para activar a tag <PRE>:

set markup html preformat on;
select rpad(ename,20,'*')||lpad(job,20,'*') from emp;

No ambiente Web do Oracle XE 10g não é possível executar o comando set markup html preformat on A alternativa é usar o SQL*Plus standard que pode ser invocado usando o atalho Run SQL Command Line

3.

select rpad(ename,15)||'('||job||')' from emp;

4.

select ename, job from emp where UPPER(job)='CLERK';

5.

select ename,deptno,initcap(replace(job,'SALESMAN','SALES')) from emp;~

6.

alter session set nls_territory='PORTUGAL';
alter session set nls_language='PORTUGUESE';
select ename ,
       to_char(hiredate,'day, dd "de" Month "de" YYYY')
from emp
where deptno=20

7.

Alternativa 1:

select ename, hiredate, add_months(hiredate,12) Revision
from emp
order by hiredate;

Alternativa 2:

select ename, hiredate, hiredate+365 Revision
from emp
order by hiredate

8.

select ename,decode(sign(1500-sal),1,'Menor que',
                                   0,'Em cheio',
                                  -1,to_char(sal))
from emp
order by ename;

9.

alter session set nls_language='PORTUGUESE';
select to_char(to_date('08-05-06','DD-MM-YY'),'DAY') from dual;

10.

select ename,
       hiredate,
       floor(MONTHS_BETWEEN(sysdate,hiredate)/12)||' YEARS '|| 
       floor(mod(MONTHS_BETWEEN(sysdate,hiredate),12))||' MONTHS'
from emp
where ename=upper('KING');

bthome.gifTopo


Realizado por Turtle Learning ®. Última alteração em 2011-02-26