Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Dấu gạch chéo (/) trong truy vấn MySQL có nghĩa là gì?

Toán tử chia (/) trong MySQL

Dấu gạch chéo / trong MySQL là toán tử chia (division). Nó được dùng để chia hai số hoặc giá trị của hai cột, kết quả trả về kiểu số thực (decimal).

Ví dụ minh họa

Tạo bảng DemoTable719:

mysql> CREATE TABLE DemoTable719 (
    FirstNumber INT,
    SecondNumber INT
);
Query OK, 0 rows affected (0.57 sec)

Chèn dữ liệu:

mysql> INSERT INTO DemoTable719 VALUES(20, 10);
Query OK, 1 row affected (0.18 sec)
mysql> INSERT INTO DemoTable719 VALUES(500, 50);
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable719 VALUES(400, 20);
Query OK, 1 row affected (0.11 sec)

Xem dữ liệu:

mysql> SELECT * FROM DemoTable719;
+-------------+--------------+
| FirstNumber | SecondNumber |
+-------------+--------------+
| 20          | 10           |
| 500         | 50           |
| 400         | 20           |
+-------------+--------------+
3 rows in set (0.00 sec)

Thực hiện phép chia và hiển thị kết quả trong cột mới:

mysql> SELECT *, FirstNumber / SecondNumber AS Result FROM DemoTable719;

Kết quả:

+-------------+--------------+---------+
| FirstNumber | SecondNumber | Result  |
+-------------+--------------+---------+
| 20          | 10           | 2.0000  |
| 500         | 50           | 10.0000 |
| 400         | 20           | 20.0000 |
+-------------+--------------+---------+
3 rows in set (0.00 sec)

Lưu ý quan trọng

  • Kết quả luôn là số thực (decimal), kể cả khi chia hết
  • Chia cho 0 sẽ trả về NULL (không báo lỗi): SELECT 10/0; -- NULL
  • Để làm tròn: sử dụng ROUND(), FLOOR(), CEIL()
  • Để chia nguyên (lấy phần nguyên): sử dụng DIV operator: SELECT 10 DIV 3; -- 3

Ví dụ bổ sung

-- Làm tròn 2 chữ số thập phân
SELECT ROUND(FirstNumber / SecondNumber, 2) AS Result FROM DemoTable719;

-- Phép chia nguyên
SELECT FirstNumber DIV SecondNumber AS IntResult FROM DemoTable719;

-- Xử lý chia cho 0 an toàn
SELECT CASE WHEN SecondNumber = 0 THEN NULL ELSE FirstNumber / SecondNumber END AS SafeResult
FROM DemoTable719;