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