sql >> Base de Datos >  >> RDS >> MariaDB

Cómo funciona el operador Modulo en MariaDB

En MariaDB, el operador de módulo (% ) devuelve la operación de módulo. Devuelve el resto de su primer argumento dividido por su segundo argumento.

Sintaxis

La sintaxis es así:

N % M

Esto devuelve el resto de N dividido por M .

La operación también se puede hacer usando el MOD palabra clave y el MOD() función. Entonces puede usar las siguientes sintaxis para lograr el mismo resultado:

MOD(N,M)
N MOD M

Ejemplo

Aquí hay un ejemplo para demostrar el operador de módulo:

SELECT 9 % 2;

Resultado:

+-------+
| 9 % 2 |
+-------+
|     1 |
+-------+

Aquí hay algunos más:

SELECT 
    8 % 2,
    134 % 27,
    9 % 5,
    9 % 10;

Resultado:

+-------+----------+-------+--------+
| 8 % 2 | 134 % 27 | 9 % 5 | 9 % 10 |
+-------+----------+-------+--------+
|     0 |       26 |     4 |      9 |
+-------+----------+-------+--------+

Comparado con MOD &MOD()

Aquí hay un ejemplo que compara las sintaxis entre la función y los operadores:

SELECT 
    9 % 2,
    9 MOD 2,
    MOD(9, 2);

Resultado:

+-------+---------+-----------+
| 9 % 2 | 9 MOD 2 | MOD(9, 2) |
+-------+---------+-----------+
|     1 |       1 |         1 |
+-------+---------+-----------+

Argumentos no numéricos

Este es un ejemplo de lo que sucede cuando proporcionamos argumentos no numéricos:

SELECT 'Bird' % 'Dog';

Resultado:

+----------------+
| 'Bird' % 'Dog' |
+----------------+
|           NULL |
+----------------+
1 row in set, 3 warnings (0.000 sec)

Veamos la advertencia:

SHOW WARNINGS;

Resultado:

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Bird' |
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Dog'  |
| Warning | 1365 | Division by 0                            |
+---------+------+------------------------------------------+

Operandos nulos

El resultado es null si alguno de los operandos es null :

SELECT 
    null % 2,
    134 % null,
    null % null;

Resultado:

+----------+------------+-------------+
| null % 2 | 134 % null | null % null |
+----------+------------+-------------+
|     NULL |       NULL |        NULL |
+----------+------------+-------------+