DIV0 e DIV0NULL: alteração nos resultados que excedem a escala de saída

Atenção

Essa mudança de comportamento está no pacote 2023_08.

Para saber o status atual do pacote, consulte Histórico do pacote.

Para as funções DIV0 e DIV0NULL, quando o resultado da operação de divisão excede a escala de saída:

Antes da mudança

DIV0 e DIV0NULL truncam a saída.

Isso é inconsistente com os resultados do uso do operador de divisão (/).

Após a mudança

DIV0 e DIV0NULL arredondam a saída para cima.

Isso é consistente com os resultados do uso do operador de divisão (/).

Por exemplo, suponha que você esteja dividindo 5 por 9:

SELECT DIV0(5, 9), DIV0NULL(5, 9), 5/9;
Copy
Antes da mudança

DIV0 e DIV0NULL truncam o resultado para 0,555555, enquanto o operador de divisão arredonda o resultado para 0,555556.

+------------+----------------+----------+
| DIV0(5, 9) | DIV0NULL(5, 9) |      5/9 |
|------------+----------------+----------|
|   0.555555 |       0.555555 | 0.555556 |
+------------+----------------+----------+
Após a mudança

DIV0, DIV0NULL e o operador de divisão arredondam o resultado para 0,555556.

+------------+----------------+----------+
| DIV0(5, 9) | DIV0NULL(5, 9) |      5/9 |
|------------+----------------+----------|
|   0.555556 |       0.555556 | 0.555556 |
+------------+----------------+----------+

Ref: 1400