# Tratamento do valor NULL

Quando nenhum dado puder ser produzido para um determinado campo como resultado de uma consulta à base de dados e/ou de uma junção entre tabelas, geralmente o resultado será normalmente um valor NULL.



## Visão geral

A lógica do Qlik Sense trata as seguintes ocorrências como valores NULL:

* Os valores NULL retornados por uma conexão ODBC.

* Valores NULL criados como resultado de uma concatenação forçada de tabelas no script de carregamento de dados.

* Valores NULL criados como resultado de uma junção feita no script de carga de dados

* Valores NULL criados como resultado da geração de combinações de valores de campo a serem mostrados em uma tabela

Nota informativaGeralmente, é impossível usar esses valores NULL para associações e seleções, exceto quando a instrução NullAsValue estiver sendo usada.

Para obter mais informações sobre o NullAsValue, consulte [NullAsValue](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/NullAsValue.htm).

Por definição, os arquivos de texto não podem conter valores NULL.

## Associando/selecionando valores NULL do ODBC

É possível associar e/ou selecionar valores NULL de uma fonte de dados ODBC. Para isso, foi definida uma variável de script. A seguinte sintaxe pode ser usada:

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLDISPLAY=&lt;sym&gt;;

O símbolo &lt;sym&gt; substituirá todos os valores NULL da fonte de dados ODBC no nível mais baixo da entrada de dados. &lt;sym&gt; pode ser qualquer string.

Para restaurar essa funcionalidade à interpretação padrão, use a seguinte sintaxe:

SET NULLDISPLAY=;

Nota informativaO uso de NULLDISPLAY afeta somente os dados de uma fonte de dados ODBC.

Se desejar que a lógica do Qlik Sense interprete valores NULL retornados de uma conexão ODBC como uma string vazia, inclua o seguinte texto no script antes de qualquer declaração SELECT:

SET NULLDISPLAY=";

Nota informativaAqui, '' realmente significa duas aspas simples sem nada entre elas.

Para obter mais informações sobre o NullDisplay, consulte [NullDisplay](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullDisplay.htm).

## Criando valores NULL de arquivos de texto

É possível definir um símbolo que, quando ocorrer em um arquivo de texto ou em uma cláusula inline, seja interpretado como um valor NULL real. Use o seguinte comando:

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/null-value-handling.htm)SET NULLINTERPRET=&lt;sym&gt;;

O símbolo &lt;sym&gt; deve ser interpretado como NULL. &lt;sym&gt; pode ser qualquer string.

Para restaurar essa funcionalidade à interpretação padrão, use:

SET NULLINTERPRET=;

Nota informativa O uso de NULLINTERPRET afeta somente os dados de arquivos de texto e cláusulas inline.

Para obter mais informações sobre o NullInterpret, consulte [NullInterpret](https://help.qlik.com/pt-BR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullInterpret.htm).

## 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.

Exemplos

| Expressão | Resultado |
| --- | --- |
| 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.

Exemplos

| Expressão | Resultado |
| --- | --- |
| 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.

Exemplos

| Expressão | Resultado |
| --- | --- |
| isnull(NULL) | retorna True (-1) |
| isnum(NULL) | retorna False (0) |

### Operadores aritméticos e de string

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

Exemplos

| Expressão | Resultado |
| --- | --- |
| 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.

Exemplos

| Expressão | Resultado |
| --- | --- |
| NULL (qualquer operador de relação) NULL | retorna NULL |
| A &lt;&gt; NULL | retorna True (-1) |
| A &lt; NULL | retorna False (0) |
| A &lt;= NULL | retorna False (0) |
| A = NULL | retorna False (0) |
| A &gt;= NULL | retorna False (0) |
| A &gt; NULL | retorna False (0) |