Other Functions

Vamos ver agora outras funções bastante utilizadas e que não se encaixa nas categorias anteriores.

NVL, NVL2

Ótimo para trabalhar com valores null na tabela. NVL eecebe dois argumentos, se o primeiro for null ele retorna o segundo, caso contrário irá retornar o primeiro parâmetro. E NVL2 é bem parecido, mas recebe 3 argumentos. se o primeiro não for null ele retorna o segundo, se for null ele irá retornar o terceiro. Vamos deixar mais simples com o exemplo.

NVL, NVL2

NVL, NVL2

Na função NVL nós usamos o valor da coluna commission_pct e no caso que ela seja null irá retornar 0. Lembrando que os dois parâmetros tem que ser do mesmo tipo. Já no caso de NVL2 irá retornar 1 caso commission_pct não seja null, se for irá retornar 0.5.

DECODE

Essa função a primeiro momento pode parecer um tanto difícil de entender, mas vamos tentar simplificar ao máximo aqui. Essa função recebe 3 parâmetros como entrada. O terceiro é opcional e será utilizado o valor null caso não seja informado. O segundo é uma lista de pares. No caso, o primeiro parâmetro é comparado com o primeiro valor da lista dos pares, caso seja igual ele irá retornar o segundo valor do par. Caso não existe um valor igual a ele irá retornar o terceiro parâmetro que caso não seja informado será null. Vejamos um exemplo para deixar mais simples.

DECODE

DECODE

Bem utilizamos o primeiro parâmetro na função DECODE a coluna comission_pct e depois informamos vários pares para a comparação. Vamos demonstrar o primeiro par. Caso o valor de commission_pct seja igual a 0.1, a função DECODE irá retornar o valor ‘BEM BAIXA’. Assim a função DECODE vai tentando comparar todos os pares até encontrar um com o valor igual. Caso não encontre nenhum irá retornar o valor do terceiro parâmetro.

CASE

Bastante similar a função anterior, mas talvez um pouco mais fácil de ler no código SQL. Começamos a função com a palavra chave CASE seguida de alguma expressão, como uma coluna da tabela por exemplo, depois dizemos que quando(WHEN) esse valor for igual a um dos pares então(THEN) a função irá retornar um valor tal. Caso não encontre nenhum par(ELSE) irá retornar um valor pré estabelecido. A função termina com a palavra chave END. O valor de ELSE é opcional, caso não seja informado a função irá retornar NULL. Vejamos no exemplo a baixo, o mesmo exemplo anterior usando a função CASE ao invés de DECODE.

CASE

CASE

NULLIF

Função feita para compara dois valores que passamos como parâmetros. Caso sejam iguais irá retornar NULL, caso não irá retornar o valor do primeiro parâmetro. Veja um exemplo.

NULLIF

NULLIF

No exemplo acima, percebemos que se o max_salary for igual ao dobro do min_salary irá retornar null, caso contrário irá retornar o dobro do min_salary.

Anúncios

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: , , , ,
Publicado em Sem categoria

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

Esse Blog é reconhecido pela
Certificações
Sou articulista
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 74,893 Visualizações
%d blogueiros gostam disto: