NULL 및 UNKNOWN(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

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

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

고려 사항:

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

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

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

설명

데이터에 null 값이 있는 경우 논리 및 비교 연산자는 단순히 UNKNOWN TRUE 또는 FALSE. 이와 같이 세 가지 결과를 가져오는 논리는 대부분 애플리케이션에서 오류의 원인이 됩니다. 연산자의 결과가 식에 의존 UNKNOWN 하지 않는 한 반환UNKNOWN을 포함하는 UNKNOWN 부울 식의 논리 연산자입니다. 이러한 테이블은 이 동작의 예를 제공합니다.

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

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

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

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