Esse capitulo mostra as funções do Oracle.
Parte 1

Outras Funções:

NVL(Expressão1, Expressão2);
Ambos são necessários e caso a Expressão1 seja NULL retorna o a Expressão2;

DECODE(Expressão1, Expressão_Busca, Resultado);
Os dois primeiros são necessários e o terceiro é opcional. O Expressao_Busca e Resultado podem se repetir, o teste é simple, se Expressão1 for igual a Expressão_Busca assume o Resultado. Se o Resultado não for colocado, usa NULL como default. O tipo do retorno é um VARCHAR2. O DECODE é o mesmo que IF-THEN-ELSE.

CASE Expressão1
WHEN Condição1 THEN Resultado1
WHEN Condição2 THEN Resultado2
….
ELSE ResultadoFinal END
Para o CASE funcionar a Expressão1 é necessária e se for igual a Condição1 retorna o Resultado1. Retorna o primeiro que encontrar, caso não encontre ninguém retorna o ELSE que é opcional, se não existir retorna NULL.
Pode ser colocado um alias para a CASE se estiver em uma COLUNA SQL.

NULLIF(Expressão1, Expressão2);
Ambos os parametros são necessários. Se Expressão1 e Expressão2 são iguais retorna NULL, se não retorna Expressão1. O tipo do retorno é o mesmo que o comparado, se estiver comparando VARCHAR2, retorna VARCHAR2.

Exemplos:

 
Select NVL('Null','Expressao2') From Dual;
Select NVL(Null,'Expressao2') From Dual;


create table Sigla_Estado (Col1 varchar2(2));
insert into Sigla_Estado values ('SC');
insert into Sigla_Estado values ('PR');
insert into Sigla_Estado values ('RS');
insert into Sigla_Estado values ('SP');
insert into Sigla_Estado values ('RJ');

-- Retornando NULL se não colocar o Resultado
Select Decode(Col1, 'SC', 'Santa Catarina', 'PR', 'Parana', 'RS', 'Rio Grande de Sul')
  From Sigla_Estado;
-- Retornando o Resultado
Select Decode(Col1, 'SC', 'Santa Catarina', 'PR', 'Parana', 'RS', 'Rio Grande de Sul','Resultado')
  From Sigla_Estado;

Select * from Sigla_Estado;
-- Retornando NULL sem ELSE
Select Case Col1
         When 'SC' Then
          'Santa Catarina'
         When 'PR' Then
          'Parana'
         When 'RS' Then
          'Rio Grande de Sul'
       End
  From Sigla_Estado;
-- Retornando ELSE e com ALIAS na COLUNA
Select Case Col1
         When 'SC' Then
          'Santa Catarina'
         When 'PR' Then
          'Parana'
         When 'RS' Then
          'Rio Grande de Sul'
         Else
          'Resultado'
       End as "NM_ESTADO" 
  From Sigla_Estado;

Select Nullif('Expressao2', 'Expressao1') From Dual;
Select Col1, Nullif(Col1, 'SP') From Sigla_Estado;

Comentário:
No Exemplo: Select Nullif('Expressao2', 'Expressao1') From Dual; Retornou Expressao2, mas falei na descrição que é Expressao1, ok? Aqui foi proposital, pois é a PRIMEIRA EXPRESSAO escrita, fiquem atentos.

Exercício:
1) O SQL: Select Distinct Nullif('SP', Col1) From Sigla_Estado;
Retorna quantas linhas?
a) 1
b) 2
c) 0
d) 5

Book: SQL Certified Expert Exam Guide, Steve O’Hearn pela Oracle Press
Link Book na Amazon

Att,
capin