MariaDB
 sql >> Database >  >> RDS >> MariaDB

Come funziona DIV in MariaDB

In MariaDB, DIV esegue la divisione di interi.

Elimina dal risultato della divisione qualsiasi parte frazionaria a destra della virgola decimale.

Sintassi

La sintassi è questa:

DIV

Dove il numero da dividere è a sinistra e il numero per cui dividerlo è a destra.

Esempio

Ecco un esempio:

SELECT 100 DIV 2;

Risultato:

+-----------+
| 100 DIV 2 |
+-----------+
|        50 |
+-----------+

Risultati frazionari

Come accennato, DIV scarta dal risultato della divisione qualsiasi parte frazionaria a destra della virgola decimale.

Esempio:

SELECT 100 DIV 3;

Risultato:

+-----------+
| 100 DIV 3 |
+-----------+
|        33 |
+-----------+

Divisione per Zero

Se il ERROR_FOR_DIVISION_BY_ZERO La modalità SQL non è impostata, la divisione per zero restituisce NULL con un avvertimento. Se impostata, la divisione per zero restituisce un errore se si tenta di aggiornare una colonna con 1/0 e restituisce anche un avviso.

Ecco un esempio di NULL risultato:

SELECT 100 DIV 0;

Risultato:

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

Controlliamo l'avviso:

SHOW WARNINGS;

Risultato:

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

Operandi non validi

L'utilizzo di operandi non validi restituisce NULL con un avviso:

SELECT 'One' DIV 'Two';

Risultato:

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

Controlla gli avvisi:

SHOW WARNINGS;

Risultato:

+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1292 | Truncated incorrect DECIMAL value: 'One' |
| Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' |
| Warning | 1365 | Division by 0                            |
+---------+------+------------------------------------------+