Você está na página 1de 8

ANEXO

Funções do SGBD Oracle

Sumário
Introdução............................................................................................................................................................................ 2
Funções de Caractere...........................................................................................................................................................3
Funções Numéricas...............................................................................................................................................................4
Funções de Data................................................................................................................................................................... 5
Outras Funções..................................................................................................................................................................... 6
Funções de Conversão..........................................................................................................................................................7
Tabela de Formatação de Números......................................................................................................................................8
Tabela de Formação para Data..............................................................................................................................................8
Introdução
Este documento tem objetivo de passar as principais funções disponibilizadas pelo SGBD Oracle que
podem ser utilizadas nas diversas operações DML principalmente as que envolvem a cláusula SELECT.
Estas funções trazem operações de tratamento de string, permitindo obter uma parte de um texto,
transformar o texto para maiúsculo ou minúsculo, também traz funções de conversão de dados permitindo
a conversão de string para numérico, de numérico para string, de string para data e vice-versa, entre
outras.
Outras funções bastante utilizadas em operações DML são de formatação de dados, como por exemplo as
funções de formatação de números e datas.
Funções de Caractere
Funcão Parâmetros Processamento Retorno Exemplo
UPPER(P1) p1: string Transforma em uppercase String
LOWER(P1) p1: string Transforma em lowercase String
P1: string
P2: quantidade para lpad('a',5,'.')
Preenche à esquerda com p3 até a
LPAD(P1,P2,P3) preenchimento
quantidade indicada por p2 String ....a
P3: caractere para
preenchimento
P1: string
P2: quantidade para rpad('a',5,'.')
Preenche à direita com p3 até a
LPAD(P1,P2,P3) preenchimento
quantidade indicada por p2 String a....
P3: caractere para
preenchimento
P1: string rtrim('a------','-')
Retirada da direita a ocorrência de
RTRIM(P1,P2) P2*(espaço em branco):
p2 String a
caractere que será retirado
P1: string ltrim('------a','-')
Retirada da esquerda a ocorrência
LTRIM(p1,p2) P2* (espaço em branco):
de p2 String a
caractere que será retirado
length('teste')
LENGTH(p1) P1: string Retorna a quantidade de caracteres Inteiro 5
instr('teste', 'e')
P1: string Retorna a posição de p2 dentro de 2
P2:string para localizar p1, iniciando em p3 a ocorrência
INSTR(P1,P2,P3,P4) P3*(1): início p4. A primeira string é iniciada em Inteiro
instr('teste', 'e',1,2)
P4*(1): ocorrência 1 5
substr('01/09/1990',4,2)
P1:string
Retorna uma fração da string p1 09
P2:início
SUBSTR(P1,P2,P3) P3*(até o final da string):
iniciado em p2 com p3 caracteres. String
A string é iniciada em 1 substr('01/09/1990',7)
quantidade de caracteres 1990
* opcionalidade
(): valor default
Funções Numéricas
Funcão Parâmetros Processamento Retorno Exemplo
round(35.59,1)
35,6
P1:número Arredonda o valor p1 para p2 casas
ROUND(P1,P2) P2*(0): casas decimais decimais Número
round(35.59)
36
trunc(35.59,1)
35,5
P1: número Trunca o valor de p1 para p2 casas
TRUNC(P1,P2) P2*(0): casas decimais decimais Número
trunc(35.59)
35
mod(4,2)
P1: número 0
Retorna o resto da divisão inteira de
MOD(P1,P2) P2:número que realiza a
p1 por p2 Número
divisão inteiro Mod(3,2)
1
* opcionalidade
(): valor default
Funções de Data
Função Parâmetros Processamento Retorno Exemplo
Retorna a data/hora
SYSDATE atual Date
Retorna a próxima data
P1:data que representa o dia da next_day(sysdate,'sábado')
NEXT_DAY(P1,P2) P2: dia da semana semana informado por Date 12/03/2011
p2
Retorna o ultimo dia do last_day(sysdate)
LAST_DAY(P1) P1:data
mês de p1 Date 31/03/2011
P1: data
Adiciona p2 quantidade
ADD_MONTHS(P1,P2)) P2: quantidade de
de dias a p1 Date
dias
P1:data 1 Calculada a diferença de
MONTHES_BETWEEN(P1,P2) P2: data 2 dias entre p1 e p2 Inteiro
* opcionalidade
(): valor default
Outras Funções
Função Parâmetros Processamento Retorno Exemplo
NVL(NULL,3)
P1: valor Retorna p1, se p1 não 3
NVL(P1,P2) P2: valor para o for nulo, no caso de p1
caso de p1 ser nulo ser nulo, retorna p2 NVL(3,1)
3
P1:valor para teste
P2: condição de
igualdade decode(uf,'SE','Sergipe','BA','Bahia',
DECODE(P1,P2,P3) P3*: valor caso a 'Outro' )
condição p2 não
seja satisfeita
* opcionalidade
(): valor default
Funções de Conversão
Função Parâmetros Processamento Retorno Exemplo/Detalhes
P1: valor não
NLS_NUMERIC_CHARACTERS=’.,’
numérico
NLS_CURRENCY=’R$’
P2: string de
formatação** Transforma um valor não
to_number('17.536,00','999G999D99')
TO_NUMBER(P1,P2,P3) P3*(padrão do numérico (p1) em um Número
database): valor numérico
to_number('17,536.00','999G999D99',
definição do
'nls_numeric_characters=''.,''')
parâmetro de
configuração
to_char(17536,'999G999D99')
17.536,00
P1: valor não string
P2: string de to_char(sysdate,'DD/MM/YYYY
formatação** Transforma um valor HH24:MI:SS')
TO_CHAR(P1,P2,P3) P3*(padrão do data numérico ou data em String 01/01/1990 12:59:01
base): definição do uma string
parâmetro de to_char('17536','999G999D99',
configuração 'nls_numeric_characters=''.,''')
17,536.00
P1: um valor string
P2: string de
formatação** Transforma um valor
P3*(padrão do string (p1) em uma data,
TO_DATE(P1,P2,P3) database): utilizando a formatação Data to_date('20090901','YYYYMMDD')
definição do de p2
parâmetro de
configuração
** Ver tabela de parâmetros de formatação
* opcionalidade
(): valor default
Tabela de Formatação de Números
Formatação Descrição Exemplo
Indica que o número 0 deve aparecer to_char(1356,'000G999D00')
0 001.356,00
obrigatoriamente
Caso não existe valor suficiente, não haverá o to_char(1356,'999G999D00')
9 1.356,00
preenchimento com 0
G Símbolo do milhar
D Símbolo decimal
Símbolo monetário configurado na sessão do usuário. to_char(1356,'L000G999D00')
L R$001.356,00
Definido pelo parâmetro NLS_CURRENCY

Tabela de Formação para Data


Formatação Descrição Exemplo
to_char(sysdate,'D')
D Dia da semana (1 até 7) 3
to_char(sysdate,'DAY')
DAY Nome do dia da semana TERÇA-FEIRA
DD Dia do mês (1-31)
DDD Dia do ano (1-366)
Abreviação do dia nome do dia do to_char(sysdate,'DY')
DY TER
mês
HH12 Hora do dia, em formato de 12 horas
HH24 Hora do dia, em formato de 24 horas
IW Número da semana do ano
MI Minuto do dia
MM Número do mês
to_char(sysdate,'MON')
MON Abreviatura do mês MAR
MONTH Nome do mês
YYYY Ano
to_char(sysdate,'DD "de" MONTH "de" YYYY')
“text” Texto estático na formatação da data 01 de MARÇO de 2010