표현식에서 NULL 값 전파
NULL 값은 몇 가지 논리적이고 상당히 합리적인 규칙에 따라 표현식에 전파됩니다.
함수
매개 변수가 함수에 대해 정의된 범위를 벗어나는 경우 일반적인 규칙에 따라 함수가 NULL을 반환합니다.
- asin(2) 반환 값: NULL
- log(-5) 반환 값: NULL
- round(A,0) 반환 값: NULL
위의 규칙에 이어 평가에 필요한 매개 변수가 NULL인 경우 일반적으로 이 함수는 NULL을 반환합니다.
- sin(NULL) 반환 값: NULL
- chr(NULL) 반환 값: NULL
- if(NULL, A, B) 반환 값: B
- if(True, NULL, A)는 NULL을 반환합니다.
- if(True, A, NULL)는 A을 반환합니다.
두 번째 규칙에서 형식을 테스트하는 논리 함수의 경우 예외가 적용됩니다.
- isnull(NULL)은 TRUE(-1)를 반환합니다.
- isnum(NULL)은 False(0)를 반환합니다.
산술 및 문자열 연산자
이러한 연산자의 항에 NULL이 있으면 NULL이 반환됩니다.
- A + NULL 반환 값: NULL
- A - NULL 반환 값: NULL
- A / NULL 반환 값: NULL
- A * NULL는 NULL을 반환합니다.
- NULL / A는 NULL을 반환합니다.
- 0 / NULL는 NULL을 반환합니다.
- 0 * NULL는 NULL을 반환합니다.
- A & NULL는 A을 반환합니다.
관계형 연산자
관계형 연산자의 항에 NULL이 있으면 특수 규칙이 적용됩니다.
- NULL rel.op NULL 반환 값: NULL
- A <> NULL은 TRUE(-1)를 반환합니다.
- A < NULL은 False(0)를 반환합니다.
- A <= NULL은 False(0)를 반환합니다.
- A = NULL은 False(0)를 반환합니다.
- A >=은 False(0)를 반환합니다.
- A > NULL은 False(0)를 반환합니다.