Giới thiệu
MySQL cho phép thực hiện phép tính toán học trực tiếp trong câu lệnh SELECT. Để chia giá trị của hai cột và hiển thị kết quả, chỉ cần dùng toán tử / và đặt bí danh (alias) cho cột kết quả.
Ví dụ minh họa
Tạo bảng và chèn dữ liệu
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Value1 INT,
Value2 INT
);
mysql> INSERT INTO DemoTable (Value1, Value2) VALUES (100, 150), (500, 1000), (15000, 18000);
Truy vấn chia và hiển thị kết quả
mysql> SELECT *, (Value1 / Value2) AS Result FROM DemoTable;
Kết quả
+----+--------+--------+--------+ | Id | Value1 | Value2 | Result | +----+--------+--------+--------+ | 1 | 100 | 150 | 0.6667 | | 2 | 500 | 1000 | 0.5000 | | 3 | 15000 | 18000 | 0.8333 | +----+--------+--------+--------+
Lưu ý quan trọng
- Chia cho 0: Nếu Value2 = 0, kết quả sẽ là
NULL(không báo lỗi). - Kiểu dữ liệu: Kết quả phép chia số nguyên trong MySQL trả về kiểu decimal/float.
- Làm tròn: Dùng
ROUND(Value1/Value2, 2)để làm tròn 2 chữ số thập phân. - Phép chia nguyên: Dùng
DIVhoặcFLOOR(Value1/Value2)nếu chỉ cần phần nguyên.
Mở rộng: Cập nhật cột kết quả
ALTER TABLE DemoTable ADD COLUMN Result DECIMAL(10,4); UPDATE DemoTable SET Result = Value1 / Value2;