En MariaDB, DIV
realiza la división de enteros.
Descarta del resultado de la división cualquier parte fraccionaria a la derecha del punto decimal.
Sintaxis
La sintaxis es así:
DIV
Donde el número a dividir está a la izquierda y el número por el que dividirlo está a la derecha.
Ejemplo
He aquí un ejemplo:
SELECT 100 DIV 2;
Resultado:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Resultados fraccionarios
Como se mencionó, DIV
descarta del resultado de la división cualquier parte fraccionaria a la derecha del punto decimal.
Ejemplo:
SELECT 100 DIV 3;
Resultado:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
División por cero
Si el ERROR_FOR_DIVISION_BY_ZERO
El modo SQL no está configurado, la división por cero devuelve NULL
con una advertencia Si se establece, la división por cero devuelve un error si se intenta actualizar una columna con 1/0 y también devuelve una advertencia.
Aquí hay un ejemplo de un NULL
resultado:
SELECT 100 DIV 0;
Resultado:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Revisemos la advertencia:
SHOW WARNINGS;
Resultado:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Operandos no válidos
El uso de operandos no válidos da como resultado NULL
con una advertencia:
SELECT 'One' DIV 'Two';
Resultado:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Revisa las advertencias:
SHOW WARNINGS;
Resultado:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+