I MariaDB, DIV
udfører heltalsdeling.
Den kasserer fra divisionsresultatet enhver brøkdel til højre for decimaltegnet.
Syntaks
Syntaksen ser sådan ud:
DIV
Hvor tallet, der skal divideres, er til venstre, og tallet, der skal divideres med, er til højre.
Eksempel
Her er et eksempel:
SELECT 100 DIV 2;
Resultat:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Brøkresultater
Som nævnt DIV
kasserer fra divisionsresultatet enhver brøkdel til højre for decimaltegnet.
Eksempel:
SELECT 100 DIV 3;
Resultat:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Division med nul
Hvis ERROR_FOR_DIVISION_BY_ZERO
SQL-tilstand er ikke indstillet, division med nul returnerer NULL
med en advarsel. Hvis indstillet, returnerer division med nul en fejl, hvis man forsøger at opdatere en kolonne med 1/0 og returnerer også en advarsel.
Her er et eksempel på en NULL
resultat:
SELECT 100 DIV 0;
Resultat:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Lad os tjekke advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Ugyldige operander
Brug af ugyldige operander resulterer i NULL
med en advarsel:
SELECT 'One' DIV 'Two';
Resultat:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Tjek advarslerne:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+