DIV0 및 DIV0NULL: 출력 규모를 초과하는 결과 변경

주의

이 동작 변경 사항은 2023_08 번들에 있습니다.

번들의 현재 상태는 번들 기록 섹션을 참조하십시오.

DIV0DIV0NULL 함수에 대해 나누기 연산 결과가 출력 규모를 초과하는 경우:

변경 전:

DIV0과 DIV0NULL은 출력을 자릅니다.

이는 나누기 연산자(/)를 사용한 결과와 일치하지 않습니다.

변경 후:

DIV0과 DIV0NULL은 0에서 멀어지는 방향으로 출력값 을 반올림합니다.

이는 나누기 연산자(/)를 사용한 결과와 일치합니다.

예를 들어 5를 9로 나눈다고 가정해 보겠습니다.

SELECT DIV0(5, 9), DIV0NULL(5, 9), 5/9;
Copy
변경 전:

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