Use NULLIF
para substituir seletivamente um valor específico nos seus dados por NULL. Isto pode ser útil em situações em que um determinado valor representa dados em falta ou inválidos e quer marcá-lo explicitamente como NULL para análise ou processamento adicionais.
Exemplos de utilização
Substitua -1 no campo Discount por NULL.
Sintaxe
NULLIF( input_expression, expression_to_match )
Parâmetros
input_expression
A expressão a avaliar. Pode usar qualquer expressão válida como input_expression
.
expression_to_match
NULLIF
compara
expression_to_match
com input_expression
. Se os dois forem iguais, NULLIF
devolve nulo. Caso contrário, devolve o
input_expression
. Pode usar qualquer expressão válida como expression_to_match
.
Exemplo
Suponhamos que quer calcular o desconto médio concedido aos seus clientes. A sua aplicação representa "sem desconto" como -1. A fórmula AVG(Discount)
vai contar -1 e devolver um resultado incorreto. Para evitar esta situação, pode converter esses -1s em NULLS. Para o fazer, crie um novo campo denominado, por exemplo, Desconto com nulos :
NULLIF(
Discount
, -1)
Esta fórmula pode ser lida como "Se o campo Desconto for -1, devolva nulo. Caso contrário, devolva Desconto".
Em seguida, pode calcular o desconto médio ignorando as encomendas sem desconto:
AVG(
Discount With Nulls
)