DIV0 및 DIV0NULL: 출력 규모를 초과하는 결과 변경¶
DIV0 및 DIV0NULL 함수에 대해 나누기 연산 결과가 출력 규모를 초과하는 경우:
- 변경 전:
DIV0과 DIV0NULL은 출력을 자릅니다.
이는 나누기 연산자(
/
)를 사용한 결과와 일치하지 않습니다.- 변경 후:
DIV0과 DIV0NULL은 0에서 멀어지는 방향으로 출력값 을 반올림합니다.
이는 나누기 연산자(
/
)를 사용한 결과와 일치합니다.
예를 들어 5를 9로 나눈다고 가정해 보겠습니다.
SELECT DIV0(5, 9), DIV0NULL(5, 9), 5/9;
- 변경 전:
DIV0과 DIV0NULL은 결과를 0.555555로 자르고 나누기 연산자는 결과를 0.555556으로 반올림합니다.
+------------+----------------+----------+ | DIV0(5, 9) | DIV0NULL(5, 9) | 5/9 | |------------+----------------+----------| | 0.555555 | 0.555555 | 0.555556 | +------------+----------------+----------+
- 변경 후:
DIV0, DIV0NULL, 나누기 연산자는 결과를 0.555556으로 반올림합니다.
+------------+----------------+----------+ | DIV0(5, 9) | DIV0NULL(5, 9) | 5/9 | |------------+----------------+----------| | 0.555556 | 0.555556 | 0.555556 | +------------+----------------+----------+
또한 DIV0 및 DIV0NULL 함수에 3개 이상의 인자를 전달하면 예외가 발생합니다.
- 변경 전:
DIV0 및 DIV0NULL 함수는 2개의 인자만 지원하지만 추가 인자를 전달할 수 있습니다.
함수는 추가 인자를 무시합니다.
- 변경 후:
DIV0 및 DIV0NULL 함수에 3개 이상의 인자를 전달하면 다음 예외가 발생합니다.
000939 (22023): SQL compilation error: ... too many arguments for function [DIV0] expected 2, got 3
참조: 1400