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 | +---------+------+------------------------------------------+