W MariaDB, DIV
wykonuje dzielenie liczb całkowitych.
Odrzuca z wyniku dzielenia każdą część ułamkową na prawo od przecinka dziesiętnego.
Składnia
Składnia wygląda tak:
DIV
Liczba, przez którą należy podzielić, znajduje się po lewej stronie, a liczba, przez którą należy ją podzielić, po prawej.
Przykład
Oto przykład:
SELECT 100 DIV 2;
Wynik:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Wyniki ułamkowe
Jak wspomniano, DIV
odrzuca z dzielenia dowolną część ułamkową z prawej strony przecinka dziesiętnego.
Przykład:
SELECT 100 DIV 3;
Wynik:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Podział przez zero
Jeśli ERROR_FOR_DIVISION_BY_ZERO
Tryb SQL nie jest ustawiony, dzielenie przez zero zwraca NULL
z ostrzeżeniem. Jeśli jest ustawiona, dzielenie przez zero zwraca błąd, jeśli ktoś próbuje zaktualizować kolumnę o 1/0 i zwraca również ostrzeżenie.
Oto przykład NULL
wynik:
SELECT 100 DIV 0;
Wynik:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Sprawdźmy ostrzeżenie:
SHOW WARNINGS;
Wynik:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Nieprawidłowe argumenty
Użycie nieprawidłowych operandów daje w wyniku NULL
z ostrzeżeniem:
SELECT 'One' DIV 'Two';
Wynik:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Sprawdź ostrzeżenia:
SHOW WARNINGS;
Wynik:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+