Hàm ROUND trong SQL Server

ROUND trong SQL Server là gì? Cách dùng hàm ROUND trong SQL Server như thế nào? Hãy cùng Quantrimang.com tìm hiểu nhé!

Hàm ROUND được dùng để làm tròn trong SQL Server. Bạn sẽ dùng nó mỗi khi cần làm tròn một số cụ thể sang số thập phân được chỉ định.

Đặc điểm chính của hàm ROUND trong SQL Server

  • Hàm này được 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ỉ 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 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

ROUND(number, decimals, operation)

Tham số:

Phương thức này chấp nhận 3 tham số, cụ thể như sau:

  • 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 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 CEILINGFLOOR.
  • 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

Sử dụng ROUND SQL với độ chính xác số âm

ROUND() cung cấp một chức năng khác khi tham số chính xác là một số âm. Ở ví dụ bên dưới, bạn có thể nhân số gần nhất với 100 bằng ROUND(value, -2). Chúng ta sẽ dùng một truy vấn tương tự với ví dụ trước đó để hiện chức năng này:

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 hiện tại được thực thi trong MS SQL Server. Ở đây, chúng ta cũng sử dụng dữ liệu không đổi để trình bày cách hàm ROUND() hoạt động. Bạn có thể thấy một tham số chính xác của -2 hoạt động trên những giá trị khác nhau. Kết quả của ROUND(value, -2) là bội số gần nhất của 100 so với giá trị này. Bạn có thể thấy kết quả ở truy vấn bên dưới:

Như bạn thấy dùng hàm làm tròn SQL ROUND() không quá khó. Chỉ cần nắm được những kiến thức cơ bản trên, bạn có thể sử dụng chúng thành thạo bất cứ khi nào cần.

Bài tiếp: Hàm SIGN trong SQL Server

Thứ Năm, 24/08/2023 16:54
4,49 👨 53.906
0 Bình luận
Sắp xếp theo
    ❖ SQL Server