Logo Passei Direto

A maior rede de estudos do Brasil

Grátis
123 pág.
modelagem

Pré-visualização | Página 13 de 24

números negativos
999999PR
<1234>
EEEE
notação científica(formato de conter quatro Es unicamente)
99.999EEEE
1.234E+03
V
multiplica pela décima potência 10n(n = número 9s depois da V
9999V99
123400
B
mostra valores zero em branco, não zero
B9999.99
1234.00
SELECT SAL, TO_CHAR(SAL,'$9,999')
FROM EMP;
SAL
TO_CHAR(SAL,'$9,999')
800
1600
1250
2975
1250
2850
2450
3000
5000
1500
1100
 950
3000
1300
$800
 $1,600
 $1,250
 $2,975
 $1,250
 $2,850
 $2,450
 $3,000
 $5,000
 $1,500
 $1,100
 $950
 $3,000
 $1,300
Os formatos das máscaras são opcionais. Se a ‘máscara’ é omitida, a data é convertida para um alfanumérico que é padrão DD-MON-YY. Se a ‘máscara’ não é especificada, o número é convertido para alfanumérico.
Formatos de Data
Máscara
Significado
SCC ou CC
Século, prefixo ‘S’ “BC”data com ‘-’
YYYY ou SYYYY
Ano, prefixo ‘S’ “BC” data com ‘-’
YYY ou YY ou Y
Último 3, 2 ou 1 digito(s) do ano
Y,YYY
Ano com vírgula nessa posição
SYEAR ou YEAR
Ano, soletrado na saída ‘S’ prefixo “BC” data com ‘-’
BC ou AD
BC/AD período
B.C. ou A.D.
BC/AD indicador com períodos
Q
Um quarto do Ano
MM
Mês
MONTH
nome do mês, espaçamento com brancos do tamanho de 9 caracteres
MON
nome do mês, 3 letras abreviadas
WW ou W
Semana do ano ou mês
DDD ou DD ou D
dia do ano, mês ou semana
DAY
nome do dia, espaçado com brancos com 9 caracteres de tamanho
DY
nome do dia, 3 letras abreviadas
J
data Juliana, o número de dias desde 31 dezembro 4713 antes de Cristo
AM ou PM
Indicador meridiano
A.M. ou P.M.
indicador meridiano com períodos
HH ou HH12
horas do dia (1-12)
HH24
horas do dia (0-23)
MI
minuto
SS
segundos
SSSSS
segundos passado meia-noite(0-86399)
/.,etc.
pontuação é reproduzida no resultado
“...”
cotas de linhas são representadas no resultado.
Os sufixos abaixo devem ser adicionados em frente dos códigos:
TH
Ex.:
SELECT TO_CHAR(SYSDATE,'DAY, DDTH MONTH YYYY') FROM DUAL;
SEXTA-FEIRA , 01ST DEZEMBRO 2000
SP 
Ex.: 
SELECT TO_CHAR(SYSDATE,'DAY, DDSP MONTH YYYY') FROM DUAL;
SEXTA-FEIRA , ONE DEZEMBRO 2000
SPTH ou thsp
Ex.:
SELECT TO_CHAR(SYSDATE,'DAY, DDSPTH MONTH YYYY') FROM DUAL;
SEXTA-FEIRA , FIRST DEZEMBRO 2000
DAY
MONDAY
Day
Monday
Month
July
Ddth
14th
DdTh
14Th
TO_NUMBER
No seguinte exemplo a função TO_NUMBER é usada para transformar um número armazenado como um alfanumérico para um tipo numérico:
SELECT EMPNO, ENAME, JOB, SAL
FROM EMP
WHERE SAL > TO_NUMBER('1500');
EMPNO
ENAME
JOB
 SAL
7499
 7566
 7698
 7782
 7788
 7839
 7902
ALLEN 
 JONES 
 BLAKE 
 CLARK 
 SCOTT 
 KING 
 FORD
SALESMAN 
MANAGER 
MANAGER 
MANAGER 
ANALYST 
PRESIDENT
ANALYST
1600
2975
2850
2450
3000
5000
3000
TO_DATE
Para mostrar todos os empregados admitidos em 4 de junho de 1984 (não formato padrão), nós podemos usar a função TO_DATE:
SELECT EMPNO, ENAME, HIREDATE
FROM EMP
WHERE HIREDATE = TO_DATE ('September 8, 1981','Month dd, yyyy');
EMPNO ENAME HIREDATE
----- ---------- ---------
 7844 TURNER 08-SEP-81
O conteúdo é convertido para data e comparado com o valor de DATA.
Para entrar um linha na tabela EMP com a data não no formato padrão:
INSERT INTO EMP (EMPNO, DEPTNO,HIREDATE)
VALUES (7777,20,TO_DATE('19/08/90 00:00:00','DD/MM/YY HH:MI:SS'));
�
Funções que Aceitam Vários Tipos de Entrada de Dados
DECODE
DECODE é a mais potente função do SQL. Ele facilita pesquisas condicionais fazendo o trabalho de ‘ferramentas’ ou comandos ‘IF-THEN-ELSE’.
Sintaxe:
DECODE(col/expressão,
 procurado1,resultado1, procurado2,resultado2...,padrão)
Col/expressão é comparado com cada um dos valores procurados e retorna o resultado se a col/expressão é igual ao valor procurado. Se não for encontrado nenhum dos valores procurados, a função DECODE retorna o valor padrão. Se o valor padrão for omitido ele retornará um valor nulo.
O seguinte exemplo decodifica os cargos dos tipos MANAGER e CLERK unicamente. Os outros cargos serão padrão, alterados para UNDEFINED:
SELECT ENAME, JOB,
DECODE(JOB,'CLERK','WORKER',
 'MANAGER','BOSS')
FROM EMP;
ENAME
JOB
DECODE
SMITH 
ALLEN 
WARD 
JONES 
MARTIN 
BLAKE 
CLARK 
SCOTT 
KING 
TURNER 
ADAMS 
JAMES 
FORD 
MILLER
CLERK 
SALESMAN
SALESMAN
MANAGER 
SALESMAN
MANAGER 
MANAGER 
ANALYST
PRESIDENT
SALESMAN
CLERK 
CLERK 
ANALYST
CLERK
WORKER
 BOSS
 BOSS
 BOSS
 WORKER
 WORKER
 WORKER
Para mostrar a gratificação percentual dependendo do grau do salário:
SELECT GRADE,
DECODE(GRADE,'1','15%',
 '2','10%',
 '3','8%',
 '4’,’5%') BONUS FROM SALGRADE;
GRADE
BONUS FROM SALGRADE
1
2
3
4
5
15%
10%
8%
5%
Esse exemplo ilustra que com a função DECODE, o valor retornado é forçado a ter um tipo de dado no terceiro argumento.
NVL
NVL(col/valor,valor)
converte um valor nulo para um valor desejado. Tipo de dados devem combinar(col/valor e valor).
SELECT SAL*12+NVL(COMM,0), NVL(COMM,1000), SAL*12+NVL(COMM,1000)
FROM EMP
WHERE DEPTNO = 10;
SAL*12+NVL(COM,0)
NVL(COM,1000)
SAL*12+NVL(COM,1000)
29400 
60000 
15600
1000 
1000 
1000
30400
 61000
 16600
GREATEST
GREATEST(col/valor1,col/valor2,...)
retorna o maior da lista de valores. Todos os col/valores são convertidos para um valor antes da comparação.
SELECT SAL, COMM, GREATEST(1000,2000), GREATEST(SAL,COMM)
FROM EMP
WHERE DEPTNO = 30;
SAL
COMM
GREATEST(1000,2000)
GREATEST(SAL,COMM)
1600 
1250 
1250 
2850 
1500 
 950
300 
 500 
 1400 
 
 0
2000
2000
2000
2000
2000
2000
1600
1250
1400
1500
Na função GREATEST quando na lista de valores existe um valor nulo ele é considerado como o maior.
LEAST
LEAST(col/valor1,col/valor2,...)
retorna o menor valor de um lista de valores. Todos os valores são convertidos antes da comparação.
SELECT SAL, COMM, LEAST(1000,2000), LEAST(SAL,COMM)
FROM EMP
WHERE DEPTNO = 30;
SAL
COMM
LEAST(1000,2000)
LEAST(SAL,COMM)
1600 
1250 
1250 
2850 
1500 
 950
300
 500
1400
 
 0
1000 
1000 
1000 
1000
1000 
1000
300
 500
1250
 0
Na função LEAST quando na lista de valores existe um valor nulo ele é considerado como o menor.
VSIZE
VSIZE(col/valor)
retorna o número de bytes interno do ORACLE representando um col/valor.
 
SELECT DEPTNO, VSIZE(DEPTNO), VSIZE(HIREDATE), VSIZE(SAL), VSIZE(ENAME)
FROM EMP
WHERE DEPTNO = 10;
SETOR
VSIZE(SETOR)
VSIZE(DATA)
VSIZE(SAL)
VSIZE(NOME)
10
2
7
3
5
10
2
7
2
4
10
2
7
2
6
Funções de Grupo
Funções de grupo operam sobre conjuntos de linhas. Elas retornam resultados baseados sobre um grupo de linhas, antes que um resultado por linha tenha retornado como uma função de linha única. Como padrão todas as linhas de um tabela são trilhadas como um grupo. A clausula GROUP BY da declaração do SELECT é usada para agrupar as linhas em menores grupos.
As funções de grupos são listadas abaixo:
Função
Valor Retornado
AVG([DINSTINCT/ALL]n)
Valor médio de n, ignorando os valores nulos.
COUNT([DINSTINCT/ALL]expr*)
Contador
* conta todas as linhas selecionadas, incluindo duplicadas e linhas nulas
MAX([DISTINCT/ALL]expr)
valor máximo da expressão
MIN([DISTINCT/ALL]expr)
Página1...91011121314151617...24