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

Chia số nguyên và lấy kết quả nguyên trong MySQL

Khi chia hai số nguyên trong MySQL, kết quả mặc định là số thực (decimal). Để lấy phần nguyên, dùng CAST(... AS UNSIGNED) hoặc hàm FLOOR() / DIV.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Number INT
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable(Number) VALUES(10);
mysql> INSERT INTO DemoTable(Number) VALUES(20);
mysql> INSERT INTO DemoTable(Number) VALUES(30);
mysql> INSERT INTO DemoTable(Number) VALUES(40);

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+----+--------+
| Id | Number |
+----+--------+
| 1  | 10     |
| 2  | 20     |
| 3  | 30     |
| 4  | 40     |
+----+--------+

Chia 2, kết quả thập phân:

mysql> SELECT Id, Number, (Number/2) AS DivideBy2 FROM DemoTable;
+----+--------+-----------+
| Id | Number | DivideBy2 |
+----+--------+-----------+
| 1  | 10     | 5.0000    |
| 2  | 20     | 10.0000   |
| 3  | 30     | 15.0000   |
| 4  | 40     | 20.0000   |
+----+--------+-----------+

Chuyển sang số nguyên bằng CAST:

mysql> SELECT Id, Number, CAST((Number/2) AS UNSIGNED) AS DivideBy2 FROM DemoTable;

Kết quả

+----+--------+-----------+
| Id | Number | DivideBy2 |
+----+--------+-----------+
| 1  | 10     | 5         |
| 2  | 20     | 10        |
| 3  | 30     | 15        |
| 4  | 40     | 20        |
+----+--------+-----------+

Cách khác: Number DIV 2 (chia nguyên tích hợp) hoặc FLOOR(Number/2).