В MariaDB, DIV
извършва целочислено деление.
Той отхвърля от резултата от разделянето всяка дробна част вдясно от десетичната запетая.
Синтаксис
Синтаксисът е така:
DIV
Където числото за разделяне е отляво, а числото, на което трябва да се дели, е отдясно.
Пример
Ето един пример:
SELECT 100 DIV 2;
Резултат:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Дробни резултати
Както бе споменато, DIV
отхвърля от резултата от делението всяка дробна част вдясно от десетичната запетая.
Пример:
SELECT 100 DIV 3;
Резултат:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Деление на нула
Ако ERROR_FOR_DIVISION_BY_ZERO
SQL режимът не е зададен, разделянето на нула връща NULL
с предупреждение. Ако е зададено, разделянето на нула връща грешка, ако човек се опита да актуализира колона с 1/0 и връща също предупреждение.
Ето пример за NULL
резултат:
SELECT 100 DIV 0;
Резултат:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Нека проверим предупреждението:
SHOW WARNINGS;
Резултат:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Невалидни операнди
Използването на невалидни операнди води до NULL
с предупреждение:
SELECT 'One' DIV 'Two';
Резултат:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Проверете предупрежденията:
SHOW WARNINGS;
Резултат:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+