Ir para conteúdo principal

Propagação de valores NULL em expressões

NESTA PÁGINA

Propagação de valores NULL em expressões

Os valores NULL se propagarão por meio de uma expressão de acordo com algumas regras lógicas e bastante razoáveis.

Funções

A regra geral é que as funções retornam NULL quando os parâmetros ficam fora do intervalo para o qual a função está definida.

Example:  

  • asin(2) retorna NULL
  • log(-5) retorna NULL
  • round(A,0) retorna NULL

Como resultado, as funções em geral retornam NULL quando qualquer um dos parâmetros necessários à avaliação é NULL.

Example:  

  • sin(NULL) retorna NULL
  • chr(NULL) retorna NULL
  • if(NULL, A, B) retorna B
  • if(True, NULL, A) retorna NULL 
  • if(True, A, NULL) retorna A 

A exceção à segunda regra são as funções lógicas para teste de tipo.

Example:  

  • isnull(NULL) retorna True (-1)
  • isnum(NULL) retorna False (0)

Operadores aritméticos e de caractere

Se NULL for encontrado em qualquer lado desses operadores, o resultado será NULL.

Example:  

  • A + NULL retorna NULL
  • A - NULL retorna NULL
  • A / NULL retorna NULL
  • A * NULL retorna NULL 
  • NULL / A retorna NULL 
  • 0 / NULL retorna NULL 
  • 0 * NULL retorna NULL 
  • A & NULL retorna A 

Operadores relacionais

Se NULL for encontrado em qualquer lado dos operadores relacionais, serão aplicadas regras especiais.

Example:  

  • NULL rel.op NULL retorna NULL
  • A <> NULL retorna True (-1)
  • A < NULL retorna False (0)
  • A <= NULL retorna False (0
  • A = NULL retorna False (0
  • A >= retorna False (0
  • A > NULL retorna False (0