Hàm ROUND trong SQL Server

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 ct bt 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