# Обработка значения NULL

Если в результате запроса и/или объединения таблиц в базе данных для определенного поля отсутствуют данные, то такой результат, как правило, получает значение NULL.



## Обзор

В рамках логики Qlik Sense как действительные значения NULL обрабатываются следующие значения:

* Значения NULL, возвращаемые из подключения ODBC.

* Значения NULL, созданные в результате принудительного объединения таблиц в скрипте загрузки данных.

* Значения NULL, созданные в результате объединения в скрипте загрузки данных.

* Значения NULL, созданные в результате создания комбинаций значений полей для отображения в таблице.

Примечание к информацииЭти значения NULL нельзя использовать для ассоциаций и выборок, кроме случаев использования оператора NullAsValue.

Для получения дополнительной информации о NullAsValue см. [NullAsValue](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/NullAsValue.htm).

Текстовые файлы по определению не могут содержать значений NULL.

## Связь/выбор значений NULL из ODBC

В источнике данных ODBC можно связать и/или выбрать значения NULL. Для этого определяется переменная скрипта. Может использоваться следующий синтаксис:

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

Символ &lt;sym&gt; заменит все значения NULL в источнике данных ODBC на самом низшем уровне ввода данных. Символ &lt;sym&gt; может быть любой строкой.

Для возврата к установкам интерпретации по умолчанию данной функции используйте следующий синтаксис:

SET NULLDISPLAY=;

Примечание к информацииПри использовании NULLDISPLAY затронуты будут только данные из источника данных ODBC.

Если необходимо использовать логику программы Qlik Sense для интерпретации значений NULL, возвращаемых из подключения ODBC в виде пустой строки, добавьте следующее выражение в скрипт перед оператором SELECT:

SET NULLDISPLAY=";

Примечание к информацииЗдесь символ '' задается двумя отдельными апострофами без каких-либо промежуточных символов.

Для получения дополнительной информации о NullDisplay см. [NullDisplay](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullDisplay.htm).

## Создание значений NULL на основе текстовых файлов

Можно задать символ, который будет интерпретироваться в текстовом файле или в выражении inline как значение NULL. Используйте следующий оператор:

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

Символ &lt;sym&gt; интерпретируется как NULL. Символ &lt;sym&gt; может быть любой строкой.

Для возврата к установкам интерпретации по умолчанию данной функции задайте:

SET NULLINTERPRET=;

Примечание к информации При использовании NULLINTERPRET будут затронуты только данные из текстовых файлов и выражений inline.

Для получения дополнительной информации о NullInterpret см. [NullInterpret](https://help.qlik.com/ru-RU/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/ValueHandlingVariables/NullInterpret.htm).

## Передача значений NULL в выражения

Значения NULL передаются посредством выражения в соответствии с некоторыми логическими и весьма обоснованными правилами.

### Функции

Общее правило заключается в том, что функции возвращают значение NULL, когда параметры выходят за пределы диапазона, для которого задана функция.

Примеры

| Выражение | Результат |
| --- | --- |
| asin(2) | возвращает NULL |
| log(-5) | возвращает NULL |
| round(A,0) | возвращаетNULL |

В результате приведенных выше примеров функции, как правило, возвращают значение NULL, когда любой из требуемых для оценки параметров равен NULL.

Примеры

| Выражение | Результат |
| --- | --- |
| sin(NULL) | возвращает NULL |
| chr(NULL) | возвращает NULL |
| if(NULL, A, B) | возвращает B |
| if(True, NULL, A) | возвращает NULL |
| if(True, A, NULL) | возвращаетA |

Исключением второго правила являются логические функции для проверки типа.

Примеры

| Выражение | Результат |
| --- | --- |
| isnull(NULL) | возвращает True (-1) |
| isnum(NULL) | возвращаетFalse (0) |

### Арифметические и строковые операторы

Если значение NULL используется с любой стороны этих операторов, то возвращается значение NULL.

Примеры

| Выражение | Результат |
| --- | --- |
| A + NULL | возвращаетNULL |
| A - NULL | возвращаетNULL |
| A / NULL | возвращаетNULL |
| A \* NULL | возвращаетNULL |
| NULL / A | возвращаетNULL |
| 0 / NULL | возвращаетNULL |
| 0 \* NULL | возвращаетNULL |
| A & NULL | возвращает A |

### Реляционные операторы

Если значение NULL используется с любой стороны реляционных операторов, то действуют особые правила.

Примеры

| Выражение | Результат |
| --- | --- |
| NULL (любой реляционный оператор) NULL | возвращаетNULL |
| A &lt;&gt; NULL | возвращаетTrue (-1) |
| A &lt; NULL | возвращаетFalse (0) |
| A &lt;= NULL | возвращаетFalse (0) |
| A = NULL | возвращаетFalse (0) |
| A &gt;= NULL | возвращаетFalse (0) |
| A &gt; NULL | возвращает False (0) |