sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo funciona Div() en PostgreSQL

En PostgreSQL, el div() La función devuelve el cociente entero de su primer argumento dividido por su segundo argumento.

Sintaxis

La sintaxis oficial es así:

div(y numeric, x numeric)

Ejemplo

Este es un ejemplo de cómo funciona.

SELECT div(12, 3);

Resultado:

4

En este caso dividí 12 entre 3 y el resultado es 4.

Más divisiones

Aquí hay algunas divisiones más en el mismo 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 fraccionarios

Esta función devuelve el cociente entero, por lo que cualquier cantidad fraccionaria se omite del resultado.

SELECT div(12, 5);

Resultado:

2

12 dividido 5 es en realidad 2,4, pero esta función no devuelve la parte fraccionaria, por lo que obtenemos 2.

Tampoco parece haber ningún redondeo. Por ejemplo, 9 dividido por 5 es 1,8, pero div() devuelve 1 (no se redondea a 2).

SELECT div(9, 5);

Resultado:

1

Entonces se comporta más como aplicar trunc() (o quizás incluso floor() ) al resultado, en lugar de round() o ceiling() .

División por cero

Si intenta dividir un número por cero, obtendrá un error.

SELECT div(12, 0);

Resultado:

ERROR: division by zero

Pero si divides cero por otro número, obtendrás cero.

SELECT div(0, 12);

Resultado:

0