Expressões NULLIF e CASE Espressão NULLIF Expressão CASE

São utilizadas as expressões CASE e NULLIF para as expressões condicionais no .

Sintaxe da expressão NULLIF NULLIF(L,R) A expressão NULLIF é muito semelhante à expressão CASE. Por exemplo: NULLIF(V1,V2) equivale à seguinte expressão CASE: CASE WHEN V1=V2 THEN NULL ELSE V1 END

Sintaxe da expressão CASE

A expressão CASE pode ser colocada em qualquer lugar onde é permitida uma expressão. Escolhe a expressão a ser avaliada baseado em um teste booleano.

CASE WHEN ExpressãoBooleana THEN ExpressãoThen ELSE ExpressãoElse END

A ExpressãoThen e a ExpressãoElse são expressões que devem possuir tipos compatíveis. Para os tipos nativos, isto significa que estes tipos devem ser o mesmo, ou deve haver uma conversão nativa de alargamento entre os tipos.

Não é necessário utilizar a expressão CASE para evitar NullPointerExceptions quando uma coluna que pode ter nulo se torna receptora do método. -- retorna 3 VALUES CASE WHEN 1=1 THEN 3 ELSE 4 END; Se o valor da instância especificada na chamada do método de instância for nulo, o resultado da chamada será nulo (SQL NULL). Entretanto, ainda é necessário utilizar a expressão CASE para uma coluna que pode ter nulo, quando a coluna for o parâmetro de um método primitivo.