Hàm ROUND trong SQL Server là một công cụ quan trọng giúp làm tròn các số trong cơ sở dữ liệu. Hôm nay, chúng ta sẽ cùng tìm hiểu về cách sử dụng hàm ROUND và những nguyên tắc cơ bản để làm tròn số.
Hàm ROUND trong SQL Server là gì?
Hàm ROUND trong SQL Server cho phép làm tròn một số cụ thể sang số thập phân được chỉ định. Đây là công cụ hữu ích khi bạn cần làm tròn các số trong cơ sở dữ liệu.
Đặc điểm chính của hàm ROUND trong SQL Server
- Hàm này được sử dụng để làm tròn một số cụ thể sang số thập phân được chỉ định.
- Hàm này chấp nhận tất cả các kiểu số, bao gồm số dương, âm và 0.
- Hàm này cũng chấp nhận phân số.
- Hàm này luôn trả về số sau khi đã làm tròn tới số thập phân được chỉ định.
Cú pháp hàm làm tròn trong SQL Server
Cú pháp của hàm ROUND trong SQL Server như sau:
ROUND(number, decimals, operation)
Trong đó:
number
: Số cần làm tròn.decimals
: Số chữ số thập phân được chỉ định để làm tròn số.operation
: Đây là tham số tùy chọn. Nếu giá trị bằng 0, nó làm tròn kết quả thành số thập phân. Nếu giá trị khác 0, nó sẽ cắt kết quả thành số thập phân. Giá trị mặc định là 0.
Nguyên tắc làm tròn số
Khi bạn sử dụng hàm làm tròn, hệ thống sẽ kiểm tra số ở vị trí (decimal + 1)
:
- Nếu số đó lớn hơn 4, số ở vị trí decimal sẽ cộng thêm 1. Các số ở phía sau sẽ thành 0.
- Nếu số đó nhỏ hơn 5, số ở vị trí decimal sẽ giữ nguyên. Các số ở phía sau sẽ thành 0.
Ví dụ: Nếu chúng ta có một số thập phân là 423.3241, kết quả của một số trường hợp sử dụng hàm ROUND như sau:
SELECT ROUND(423.3241, -2)
có kết quả là 400.0000SELECT ROUND(423.3241, -1)
có kết quả là 420.0000SELECT ROUND(423.3241, 0)
có kết quả là 423.0000SELECT ROUND(423.3241, 1)
có kết quả là 423.3000SELECT ROUND(423.3241, 2)
có kết quả là 423.3200SELECT ROUND(423.3241, 3)
có kết quả là 423.3240SELECT ROUND(423.3241, 4)
có kết quả là 423.3241
Lưu ý:
- Ngoài hàm ROUND, bạn có thể xem thêm hàm CEILING và FLOOR để làm tròn số.
- 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: Sử dụng hàm ROUND với dữ liệu từ bảng
-
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
-
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
Sử dụng ROUND SQL với độ chính xác số âm
Hàm ROUND() cung cấp một chức năng đặc biệt khi tham số chính xác là một số âm. Ví dụ dưới đây mô tả cách nhân số gần nhất với 100 bằng cách sử dụng ROUND(value, -2)
.
SELECT 12345 as Value, ROUND(12345,-2) AS "Round(value,-2)"
UNION SELECT 12355 as Value, ROUND(12355,-2) AS "Round(value,-2)"
UNION SELECT 12350 as Value, ROUND(12350,-2) AS "Round(value,-2)"
UNION SELECT 101 as Value, ROUND(101,-2) AS "Round(value,-2)"
UNION SELECT 199 as Value, ROUND(199,-2) AS "Round(value,-2)"
UNION SELECT 99 as Value, ROUND(99,-2) AS "Round(value,-2)"
Truy vấn trên sẽ được thực thi trong MS SQL Server. Ở đây, chúng ta sử dụng cùng một dữ liệu để trình bày cách hàm ROUND() hoạt động với tham số chính xác là một số âm. Kết quả là bội số gần nhất của 100 so với giá trị của số đó.
Như vậy, sử dụng hàm làm tròn SQL ROUND() không quá phức tạp. Chỉ cần nắm vững những kiến thức cơ bản này, bạn có thể sử dụng chúng một cách thành thạo bất cứ khi nào cần.