본문으로 건너뛰기

transform_null_equals

버전기본값context타입
14userboolean
15userboolean
16userboolean
17userboolean
18userboolean
19userboolean

expr = NULL 형태의 식을 expr IS NULL로 해석할지 정한다.

SQL 표준에서 expr = NULL의 올바른 결과는 항상 null(unknown)이므로 기본값은 off다. on으로 설정하면 expr = NULL(또는 NULL = expr)이 expr IS NULL처럼 동작해, expr이 null이면 true, 아니면 false를 반환한다. Microsoft Access의 필터 폼이 null 검사를 expr = NULL 형태로 생성하기 때문에, 그 인터페이스로 접속하는 환경을 위해 남아 있는 옵션이다.

이 옵션은 정확히 = NULL 형태에만 적용된다. 다른 비교 연산자나 IN처럼 등호와 계산상 동등한 표현식에는 영향을 주지 않으므로, null 비교를 잘못 쓴 코드를 전반적으로 고쳐주는 장치는 아니다. 표준 해석으로는 expr = NULL이 항상 null만 반환해 실용성이 없고 정상적인 애플리케이션에 거의 등장하지 않으므로, 실제로는 켜도 부작용이 크지 않다.

출처: PostgreSQL 18 문서