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

Como funciona o DIV no MariaDB


No MariaDB, DIV executa a divisão inteira.

Ele descarta do resultado da divisão qualquer parte fracionária à direita da vírgula.

Sintaxe


A sintaxe fica assim:
DIV

Onde o número para dividir está à esquerda e o número para dividi-lo está à direita.

Exemplo


Aqui está um exemplo:
SELECT 100 DIV 2;

Resultado:
+-----------+
| 100 DIV 2 |
+-----------+
|        50 |
+-----------+

Resultados fracionários


Como mencionado, DIV descarta do resultado da divisão qualquer parte fracionária à direita da vírgula.

Exemplo:
SELECT 100 DIV 3;

Resultado:
+-----------+
| 100 DIV 3 |
+-----------+
|        33 |
+-----------+

Divisão por Zero


Se o ERROR_FOR_DIVISION_BY_ZERO O modo SQL não está definido, a divisão por zero retorna NULL com um aviso. Se definida, a divisão por zero retorna um erro se tentar atualizar uma coluna com 1/0 e também retorna um aviso.

Aqui está um exemplo de um NULL resultado:
SELECT 100 DIV 0;

Resultado:
+-----------+
| 100 DIV 0 |
+-----------+
|      NULL |
+-----------+
1 row in set, 1 warning (0.001 sec)

Vamos verificar o aviso:
SHOW WARNINGS;

Resultado:
+---------+------+---------------+
| Level   | Code | Message       |
+---------+------+---------------+
| Warning | 1365 | Division by 0 |
+---------+------+---------------+

Operandos inválidos


O uso de operandos inválidos resulta em NULL com um aviso:
SELECT 'One' DIV 'Two';

Resultado:
+-----------------+
| 'One' DIV 'Two' |
+-----------------+
|            NULL |
+-----------------+
1 row in set, 3 warnings (0.013 sec)

Confira os avisos:
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                            |
+---------+------+------------------------------------------+