# NULL 값 처리

데이터베이스 쿼리 및/또는 테이블 간 조인을 통해 특정 필드의 데이터를 생성할 수 없는 경우 일반적으로 NULL 값이 생성됩니다.



## 개요

Qlik Sense 논리에서는 다음 값을 실제 NULL 값으로 취급합니다.

* NULL 연결에서 반환된 ODBC 값

* 데이터 로드 스크립트에서 테이블 강제 연결의 결과로 만들어진 NULL 값

* 데이터 로드 스크립트에서 수행한 조인의 결과로 생성된 NULL 값

* 테이블에 표시할 필드 값 조합의 생성 결과로 생성된 NULL 값

정보 메모일반적으로 이러한 NULL 값은 연결 및 선택에 사용할 수 없습니다(예외: NullAsValue 문이 사용된 경우).

NullAsValue에 대한 자세한 내용은 [NullAsValue](https://help.qlik.com/ko-KR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/NullAsValue.htm)를 참조하십시오.

정의에 대한 텍스트 파일은 NULL 값을 포함할 수 없습니다.

## ODBC에서 NULL 값 연결/선택

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;은 데이터 입력의 최저 수준에서 ODBC 데이터 소스의 모든 NULL 값을 대체합니다. &lt;sym&gt;은 임의의 문자열이 될 수 있습니다.

이 기능을 기본 해석으로 초기화하려면 다음 구문을 사용하십시오.

SET NULLDISPLAY=;

정보 메모NULLDISPLAY를 사용하면 ODBC 데이터 소스의 데이터에만 영향을 줍니다.

Qlik Sense 논리가 ODBC 연결에서 반환된 NULL 값을 빈 문자열로 해석하도록 하려면 모든 SELECT 문 앞의 스크립트에 다음을 추가하십시오.

SET NULLDISPLAY=";

정보 메모여기서 ''는 실제로 중간에 아무 것도 없는 작은따옴표 2개입니다.

NullDisplay에 대한 자세한 내용은 [NullDisplay](https://help.qlik.com/ko-KR/sense/November2024/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/ko-KR/sense/November2024/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) |