Dans MariaDB, DIV
effectue une division entière.
Il supprime du résultat de la division toute partie fractionnaire à droite de la virgule décimale.
Syntaxe
La syntaxe ressemble à ceci :
DIV
Où le nombre à diviser est à gauche et le nombre par lequel le diviser est à droite.
Exemple
Voici un exemple :
SELECT 100 DIV 2;
Résultat :
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Résultats fractionnaires
Comme mentionné, DIV
les rejets de la division résultent en toute partie fractionnaire à droite de la virgule décimale.
Exemple :
SELECT 100 DIV 3;
Résultat :
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Division par zéro
Si le ERROR_FOR_DIVISION_BY_ZERO
Le mode SQL n'est pas défini, la division par zéro renvoie NULL
avec un avertissement. Si elle est définie, la division par zéro renvoie une erreur si l'on essaie de mettre à jour une colonne avec 1/0 et renvoie également un avertissement.
Voici un exemple de NULL
résultat :
SELECT 100 DIV 0;
Résultat :
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Vérifions l'avertissement :
SHOW WARNINGS;
Résultat :
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Opérandes invalides
L'utilisation d'opérandes invalides donne NULL
avec un avertissement :
SELECT 'One' DIV 'Two';
Résultat :
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Vérifiez les avertissements :
SHOW WARNINGS;
Résultat :
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+