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