Xem thêm

Hàm ROUND trong SQL Server: Cách sử dụng và nguyên tắc làm tròn số

Huy Erick
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...

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.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 ý:

  • 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

  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

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.

1