transform_null_equals
| 버전 | 기본값 | context | 타입 |
|---|---|---|---|
| 14 | — | user | boolean |
| 15 | — | user | boolean |
| 16 | — | user | boolean |
| 17 | — | user | boolean |
| 18 | — | user | boolean |
| 19 | — | user | boolean |
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 문서