Null 리터럴 및 형식 유추(Entity SQL)

Null 리터럴은 Entity SQL 형식 시스템의 모든 형식과 호환됩니다. 그러나 null 리터럴의 형식을 올바르게 유추하기 위해 Entity SQL은 null 리터럴을 사용할 수 있는 위치에 특정 제약 조건을 부과합니다.

형식화된 null

형식화된 null은 어디서나 사용할 수 있습니다. 형식이 알려져 있으므로 형식화된 null에는 형식 유추가 필요 없습니다. 예를 들어 다음 Entity SQL 구문을 사용하여 Int16 형식의 null을 생성할 수 있습니다.

(cast(null as Int16))

자유 부동 null 리터럴

다음 컨텍스트에서 자유 부동 null 리터럴을 사용할 수 있습니다.

  • CAST 또는 TREAT 식의 인수로 사용합니다. 형식화된 null 식을 생성하기 위한 권장 방법입니다.

  • 메서드 또는 함수의 인수로 사용합니다. 표준 오버로드 규칙이 적용됩니다.

  • +, -, / 등과 같은 산술 식 인수 중 하나로 사용합니다. 이외의 인수는 null 리터럴일 수 없습니다. 그렇지 않으면 형식을 유추할 수 없습니다.

  • AND, OR, NOT 등과 같이 논리 식 인수 중 하나로 사용합니다. 모든 인수는 부울 형식으로 알려져 있습니다.

  • IS NULL 또는 IS NOT NULL 식의 인수로 사용합니다.

  • LIKE 식의 인수 중 하나 이상으로 사용합니다. 모든 인수는 문자열이어야 합니다.

  • 명명된 형식 생성자의 인수 중 하나 이상으로 사용합니다.

  • multiset 생성자의 인수 중 하나 이상으로 사용합니다. multiset 생성자의 인수 중 하나 이상은 null 리터럴이 아닌 식이어야 합니다.

  • CASE 식에서 THEN 또는 ELSE 식 중 하나 이상으로 사용합니다. CASE 식에서 THEN 또는 ELSE 식 중 하나 이상은 null 리터럴이 아닌 다른 식이어야 합니다.

다른 시나리오에서는 자유 부동 null 리터럴을 사용할 수 없습니다. 예를 들어, 자유 부동 null 리터럴을 행 생성자의 인수로서 사용할 수 없습니다.

참고 항목