MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Como o Operador Módulo Funciona no MariaDB


No MariaDB, o operador módulo (% ) retorna a operação do módulo. Ele retorna o restante de seu primeiro argumento dividido por seu segundo argumento.

Sintaxe


A sintaxe fica assim:
N % M

Isso retorna o restante de N dividido por M .

A operação também pode ser feita usando o MOD palavra-chave e o MOD() função. Portanto, você pode usar as seguintes sintaxes para obter o mesmo resultado:
MOD(N,M)
N MOD M

Exemplo


Aqui está um exemplo para demonstrar o operador módulo:
SELECT 9 % 2;

Resultado:
+-------+
| 9 % 2 |
+-------+
|     1 |
+-------+

Aqui estão mais alguns:
SELECT 
    8 % 2,
    134 % 27,
    9 % 5,
    9 % 10;

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

Comparado com MOD &MOD()


Aqui está um exemplo que compara as sintaxes entre a função e os operadores:
SELECT 
    9 % 2,
    9 MOD 2,
    MOD(9, 2);

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

Argumentos não numéricos


Aqui está um exemplo do que acontece quando fornecemos argumentos não numéricos:
SELECT 'Bird' % 'Dog';

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

Vejamos o aviso:
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


O resultado é null se um dos operandos for null :
SELECT 
    null % 2,
    134 % null,
    null % null;

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