Mô tả
Hàm ROUND trong SQL Server được dùng để làm tròn số đến một vị trí thập phân nhất định.
Cú pháp
Để sử dụng hàm ROUND trong SQL Server, ta dùng cú pháp như sau:
ROUND(number, decimal, operation)
Tham số:
- number: số được truyền để làm tròn
- decimal: Số lượng vị trí thập phân được làm tròn đến. Giá trị này phải là số nguyên dương hoặc âm. Nếu tham số này bị bỏ qua, hàm ROUND sẽ làm tròn số thành 0 chữ số thập phân.
- operation: tham số không bắt buộc. operation có thể là bất kỳ giá trị số nào khác. Khi nó là 0 (hoặc bị bỏ qua), hàm ROUND sẽ làm tròn kết quả thành số thập phân. Nếu operation là bất kỳ giá trị nào khác 0, hàm ROUND sẽ cắt kết quả thành số thập phân.
Nguyên tắc làm tròn số:
Khi bạn làm tròn số, hệ thống sẽ kiểm tra số ở vị trí (decimal + 1):
- Nếu số đó lớn hơn 4 thì số ở vị trí decimal 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í decimal 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à 423.3241
- SELECT ROUND(423.3241, -2) có kết quả là 400.0000
- SELECT ROUND(423.3241, -1) có kết quả là 420.0000
- SELECT ROUND(423.3241, 0) có kết quả là 423.0000
- SELECT ROUND(423.3241, 1) có kết quả là 423.3000
- SELECT ROUND(423.3241, 2) có kết quả là 423.3200
- SELECT ROUND(423.3241, 3) có kết quả là 423.3240
- SELECT ROUND(423.3241, 4) có kết quả là 423.3241
Lưu ý:
- Xem thêm hàm CEILING và FLOOR.
- Hàm ROUND có thể được sử dụng trong các phiên bản sau của SQL Server: SQL Server 2017, SQL Server 2016, SQL Server 2014, SQL Server 2012, SQL Server 2008 R2, SQL Server 2008, SQL Server 2005.
Ví dụ
Hãy xem và khám phá một số ví dụ về hàm ROUND trong SQL Server.
Ví dụ 1: Làm tròn các số
SELECT ROUND(125.315, 2);
Result: 125.320 (kết quả được làm tròn vì tham số thứ 3 bị bỏ qua)
SELECT ROUND(125.315, 2, 0);
Result: 125.320 (kết quả được làm tròn vì tham số thứ 3 là 0)
SELECT ROUND(125.315, 2, 1);
Result: 125.310 (kết quả bị cắt bớt vì tham số thứ 3 khác 0)
SELECT ROUND(125.315, 1);
Result: 125.300 (kết quả được làm tròn vì tham số thứ 3 bị bỏ qua)
SELECT ROUND(125.315, 0);
Result: 125.000 (kết quả được làm tròn vì tham số thứ 3 bị bỏ qua)
SELECT ROUND(125.315, -1);
Result: 130.000 (kết quả được làm tròn vì tham số thứ 3 bị bỏ qua)
SELECT ROUND(125.315, -2);
Result: 100.000 (kết quả được làm tròn vì tham số thứ 3 bị bỏ qua)
Ví dụ 2: Ta có bảng dữ liệu sau
1. Lấy cột chuyên mục con và tỷ lệ của trang web, làm tròn tỷ lệ đến số thập phân thứ 2
SELECT Chuyenmuccon, ROUND(Tyle, 2) AS Tylemoi
FROM Quantrimang;
Result:
Chuyenmuccon Tylemoi
SQL Server 74.63
Facebook 58.99
Python 36.22
JavaScript 42.68
Google Chrome 94.88
Instagram 82.16
2. Lấy cột chuyên mục con và tỷ lệ của Lập trình trên trang web, làm tròn tỷ lệ đến phần số nguyên
SELECT Chuyenmuccon, ROUND(Tyle, 0) AS Tylemoi
FROM Quantrimang
WHERE Chuyenmuclon="Lap trinh";
Result:
Chuyenmuccon Tylemoi
SQL Server 75
Python 36
JavaScript 43
16 Th12 2020
21 Th12 2020
13 Th1 2021
22 Th12 2020
4 Th1 2021
25 Th12 2020