PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como Div() funciona no PostgreSQL


No PostgreSQL, o div() A função retorna o quociente inteiro de seu primeiro argumento dividido por seu segundo argumento.

Sintaxe


A sintaxe oficial é assim:
div(y numeric, x numeric)

Exemplo


Aqui está um exemplo de como funciona.
SELECT div(12, 3);

Resultado:
4

Neste caso eu dividi 12 por 3, e o resultado é 4.

Mais divisões


Aqui estão mais algumas divisões no mesmo número.
SELECT 
  div(12, 1),
  div(12, 2),
  div(12, 3),
  div(12, 4);

Resultado:
 div | div | div | div
-----+-----+-----+-----
  12 |   6 |   4 |   3

Resultados fracionários


Esta função retorna o quociente inteiro, portanto, quaisquer valores fracionários são omitidos do resultado.
SELECT div(12, 5);

Resultado:
2

12 dividido por 5 é na verdade 2,4, mas essa função não retorna a parte fracionária e então obtemos 2.

Também não parece haver nenhum arredondamento feito. Por exemplo, 9 dividido por 5 é 1,8, mas div() retorna 1 (não arredonda para 2).
SELECT div(9, 5);

Resultado:
1

Portanto, ele se comporta mais como aplicar trunc() (ou talvez até floor() ) ao resultado, em vez de round() ou ceiling() .

Divisão por Zero


Se você tentar dividir um número por zero, receberá um erro.
SELECT div(12, 0);

Resultado:
ERROR: division by zero

Mas se você dividir zero por outro número, obterá apenas zero.
SELECT div(0, 12);

Resultado:
0