18/08/2018, 11:17

Hàm ROUND() Làm tròn số trong MySQL

Hàm ROUND() được dùng để làm tròn số thập phân. Cú pháp SELECT ROUND(column_name, vị_trí_làm_tròn) FROM table_name; Khi bạn làm tròn số, hệ thống sẽ kiểm tra số ở vị trí (vị_trí_làm_tròn + 1) : Nếu số đó lớn hơn 4 thì số ở vị_trí_làm_tròn sẽ cộng thêm 1. Các số ở phía sau thành 0 ...

Hàm ROUND() được dùng để làm tròn số thập phân.

Cú pháp

SELECT ROUND(column_name, vị_trí_làm_tròn)
FROM table_name;

Khi bạn làm tròn số, hệ thống sẽ kiểm tra số ở vị trí (vị_trí_làm_tròn + 1):

  • Nếu số đó lớn hơn 4 thì số ở vị_trí_làm_tròn sẽ cộng thêm 1. Các số ở phía sau thành 0
  • Nếu số đó nhỏ hơn 5 thì số ở vị_trí_làm_tròn sẽ giữ nguyên. Các số ở phía sau thành 0

Ví dụ chúng ta có một số thập phân là 645.5463

SỐ 6 4 5 . 5 4 6 3
vị_trí_làm_tròn -2 -1   0 1 2 3 4
  • SELECT ROUND(645.5463, -2) có kết quả là 600.
  • SELECT ROUND(645.5463, -1) có kết quả là 650.
  • SELECT ROUND(645.5463, 0)  có kết quả là 646.
  • SELECT ROUND(645.5463, 1)  có kết quả là 645.5.
  • SELECT ROUND(645.5463, 2)  có kết quả là 645.55.
  • SELECT ROUND(645.5463, 3)  có kết quả là 645.546.
  • SELECT ROUND(645.5463, 4)  có kết quả là 645.5463.

Một số ví dụ

Chúng ta có một bảng sinh_vien như sau:

(Bạn có thể bấm vào đây để download câu lệnh tạo bảng như bên dưới)

Full_name Gender Age City Weight
Nguyen Thanh Nhan Nam 19 Can Tho 56.5674
Pham Thu Huong Nu 20 Vinh Long 72.456
Nguyen Nhu Ngoc Nu 20 Soc Trang 85.387
Bui Thanh Bao Nam 19 Soc Trang 49.3
Le My Nhan Nu 22 Can Tho 62.963
Tan Thuc Bao Nam 35 An Giang 55.5678
Trinh Giao Kim Nam 44 Bac Lieu 67.34

Ví dụ 1

Lấy cột họ tên và cân nặng của sinh viên, làm tròn cân nâng đến số thập phân thứ 2

SELECT Full_name, ROUND(Weight,2)
FROM sinh_vien;

Sau khi thực thi, MySQL trả về bảng kết quả như sau:

Full_name ROUND(Weight,2)
Nguyen Thanh Nhan 56.57
Pham Thu Huong 72.46
Nguyen Nhu Ngoc 85.39
Bui Thanh Bao 49.30
Le My Nhan 62.96
Tan Thuc Bao 55.57
Trinh Giao Kim 67.34

Ví dụ 2

Lấy cột họ tên và cân nặng của những sinh viên nam, làm tròn cân nặng đến phần số nguyên

SELECT Full_name, ROUND(Weight, 0) AS Weight_SV_Nam
FROM sinh_vien
WHERE Gender = 'Nam';

Sau khi thực thi, MySQL trả về bảng kết quả như sau:

Full_name Weight_SV_Nam
Nguyen Thanh Nhan 57
Bui Thanh Bao 49
Tan Thuc Bao 56
Trinh Giao Kim 67
0