MariaDB
 sql >> Base de données >  >> RDS >> MariaDB

Comment fonctionne DIV dans MariaDB

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