NULL 및 UNKNOWN(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsPlatform System(PDW) SQL 분석 엔드포인트

NULL은 값을 알 수 없음을 나타냅니다. Null은 빈 값이나 0과는 다르며 두 null 값이 같지 않습니다. 두 null 값 또는 null 값과 다른 값 간의 비교는 각 NULL의 값을 알 수 없으므로 알 수 없는 값을 반환합니다.

Null 값은 일반적으로 알 수 없거나 해당되지 않거나 나중에 추가될 데이터를 나타냅니다. 예를 들어 고객이 주문할 당시 고객의 중간 이름을 알 수 없는 경우도 있습니다.

Null 값에 관해 다음 사항을 참고하세요.

  • 쿼리에서 null 값을 테스트하려면 WHERE 절에서 IS NULL 또는 IS NOT NULL을 사용합니다.

  • INSERT 또는 UPDATE 문에서 NULL을 명시적으로 표시하거나 INSERT 문에서 열을 제외하여 열에 Null 값을 삽입할 수 있습니다.

  • Null 값은 테이블의 한 행을 기본 키와 같은 테이블의 다른 행과 구분하는 데 필요한 정보 또는 배포 키와 같은 행을 배포하는 데 사용되는 정보로 사용할 수 없습니다.

데이터, 논리 연산자, 비교 연산자에 Null 값이 포함되어 있으면 TRUE 또는 FALSE 대신 UNKNOWN이라는 결과가 반환될 수 있습니다. 이와 같이 세 가지 결과를 가져오는 논리는 대부분 애플리케이션에서 오류의 원인이 됩니다. UNKNOWN을 포함하는 부울 식의 논리 연산자는 연산자의 결과가 UNKNOWN 식에 의존하지 않는 한 UNKNOWN을 반환합니다. 이러한 테이블은 이 동작의 예를 제공합니다.

다음 표에서는 한 식이 UNKNOWN을 반환하는 두 부울 식에 AND 연산자를 적용한 결과를 보여 줍니다.

식 1 Expression 2 결과
TRUE UNKNOWN UNKNOWN
UNKNOWN UNKNOWN UNKNOWN
FALSE UNKNOWN FALSE

다음 표에서는 한 식이 UNKNOWN을 반환하는 두 부울 식에 OR 연산자를 적용한 결과를 보여 줍니다.

식 1 Expression 2 결과
TRUE UNKNOWN TRUE
UNKNOWN UNKNOWN UNKNOWN
FALSE UNKNOWN UNKNOWN

참고 항목

AND(Transact-SQL)
OR(Transact-SQL)
NOT(Transact-SQL)
IS NULL(Transact-SQL)