I MariaDB, DIV
utför heltalsdelning.
Den kastar bort från divisionsresultatet alla bråkdelar till höger om decimalkomma.
Syntax
Syntaxen ser ut så här:
DIV
Där talet att dividera är till vänster och talet att dividera det med är till höger.
Exempel
Här är ett exempel:
SELECT 100 DIV 2;
Resultat:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Bråkresultat
Som nämnts, DIV
kasserar från delningsresultatet någon bråkdel till höger om decimalkomman.
Exempel:
SELECT 100 DIV 3;
Resultat:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Division med noll
Om ERROR_FOR_DIVISION_BY_ZERO
SQL-läge är inte inställt, division med noll returnerar NULL
med en varning. Om inställt, returnerar division med noll ett fel om man försöker uppdatera en kolumn med 1/0 och returnerar också en varning.
Här är ett exempel på en NULL
resultat:
SELECT 100 DIV 0;
Resultat:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Låt oss kolla varningen:
SHOW WARNINGS;
Resultat:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Ogiltiga operander
Att använda ogiltiga operander resulterar i NULL
med en varning:
SELECT 'One' DIV 'Two';
Resultat:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Kontrollera varningarna:
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 | +---------+------+------------------------------------------+