SQL Server SIGN

Định Nghĩa về Hàm SIGN trong SQL Server

Hàm SIGN trong SQL Server là một hàm toán học được sử dụng để xác định dấu của một giá trị số. Hàm này sẽ trả về một trong ba giá trị: -1, 0 hoặc 1, tùy thuộc vào giá trị mà nó nhận được:

  • Trả về -1 nếu giá trị nhỏ hơn 0 (giá trị âm).
  • Trả về 0 nếu giá trị bằng 0.
  • Trả về 1 nếu giá trị lớn hơn 0 (giá trị dương).

Cú Pháp của Hàm SIGN

SIGN ( number )

Trong đó, number là giá trị số mà bạn muốn kiểm tra dấu.

Ví Dụ Sử Dụng Hàm SIGN

Ví dụ 1: Kiểm Tra Dấu của Các Giá Trị

SELECT 
    number,
    SIGN(number) AS sign_value
FROM 
    (VALUES (-10), (0), (10), (15), (-5)) AS numbers(number);

Trong ví dụ trên, bảng ảo numbers được tạo bằng cách sử dụng VALUES. Kết quả trả về sẽ như sau:

  • -10 → -1
  • 0 → 0
  • 10 → 1
  • 15 → 1
  • -5 → -1

Ví dụ 2: Sử Dụng Trong Điều Kiện

SELECT 
    ProductID, 
    Price,
    SIGN(Price) AS Price_Sign
FROM 
    Products
WHERE 
    SIGN(Price) <> 0;

Trong ví dụ này, truy vấn sẽ lấy danh sách các sản phẩm có giá khác 0, cùng với giá trị dấu của giá. Điều này có thể hữu ích để lọc ra các sản phẩm có giá dương hoặc âm.

Ví dụ 3: Kết Hợp Với Điều Kiện CASE

SELECT 
    number,
    CASE 
        WHEN SIGN(number) = -1 THEN 'Giá trị âm'
        WHEN SIGN(number) = 0 THEN 'Giá trị bằng 0'
        WHEN SIGN(number) = 1 THEN 'Giá trị dương'
    END AS Description
FROM 
    (VALUES (-5), (0), (3), (8), (-1)) AS numbers(number);

Kết quả từ truy vấn này sẽ cung cấp một mô tả chi tiết về giá trị, cho biết liệu nó là âm, dương hay bằng 0.

Kết Luận

Hàm SIGN trong SQL Server là công cụ mạnh mẽ giúp bạn xác định dấu của một giá trị số dễ dàng và nhanh chóng. Việc sử dụng hàm này phù hợp cho nhiều mục đích khác nhau trong các truy vấn SQL, từ việc phân loại dữ liệu đến xử lý điều kiện logic trong báo cáo.