Trong MariaDB, DIV
thực hiện phép chia số nguyên.
Nó loại bỏ khỏi kết quả phép chia bất kỳ phần phân số nào ở bên phải của dấu thập phân.
Cú pháp
Cú pháp như sau:
DIV
Trong đó số cần chia ở bên trái và số cần chia ở bên phải.
Ví dụ
Đây là một ví dụ:
SELECT 100 DIV 2;
Kết quả:
+-----------+ | 100 DIV 2 | +-----------+ | 50 | +-----------+
Kết quả phân số
Như đã đề cập, DIV
loại bỏ kết quả từ phép chia bất kỳ phần phân số nào ở bên phải của dấu thập phân.
Ví dụ:
SELECT 100 DIV 3;
Kết quả:
+-----------+ | 100 DIV 3 | +-----------+ | 33 | +-----------+
Phân chia theo Zero
Nếu ERROR_FOR_DIVISION_BY_ZERO
Chế độ SQL không được đặt, phép chia cho không trả về NULL
với một cảnh báo. Nếu được đặt, phép chia cho 0 trả về lỗi nếu người ta cố cập nhật cột bằng 1/0 và cũng trả về cảnh báo.
Đây là ví dụ về NULL
kết quả:
SELECT 100 DIV 0;
Kết quả:
+-----------+ | 100 DIV 0 | +-----------+ | NULL | +-----------+ 1 row in set, 1 warning (0.001 sec)
Hãy kiểm tra cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+---------------+ | Level | Code | Message | +---------+------+---------------+ | Warning | 1365 | Division by 0 | +---------+------+---------------+
Toán hạng không hợp lệ
Sử dụng toán hạng không hợp lệ dẫn đến NULL
với một cảnh báo:
SELECT 'One' DIV 'Two';
Kết quả:
+-----------------+ | 'One' DIV 'Two' | +-----------------+ | NULL | +-----------------+ 1 row in set, 3 warnings (0.013 sec)
Kiểm tra các cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DECIMAL value: 'One' | | Warning | 1292 | Truncated incorrect DECIMAL value: 'Two' | | Warning | 1365 | Division by 0 | +---------+------+------------------------------------------+