Vấn đề:
Bạn muốn tìm giá trị tuyệt đối của một số.
Ví dụ:
Bạn muốn tính giá trị tuyệt đối (a.k.a. modulus) của mỗi số trong cột numbers
từ bảng data
.
số |
---|
-3,2 |
0 |
20 |
Giải pháp:
SELECT ABS(numbers) AS absolute_values FROM data;
Kết quả là:
giá trị tuyệt đối |
---|
3.2 |
0 |
20 |
Thảo luận:
Để tính giá trị tuyệt đối của một số, hãy sử dụng ABS()
hàm số. Hàm này nhận một số làm đối số và trả về giá trị của nó mà không có dấu trừ nếu có. Giá trị trả về sẽ luôn là không âm - không đối với đối số 0, dương đối với bất kỳ đối số nào khác. Lưu ý rằng giá trị trả về sẽ chỉ khác với đối số nếu đối số là âm.
Nếu vì lý do nào đó, bạn chỉ cần chuyển đổi các giá trị dương thành giá trị âm tương đương và để nguyên các giá trị khác (tức là 0 và âm), bạn có thể sử dụng dấu trừ trước ABS()
chức năng.
SELECT -ABS(numbers) AS non_positive FROM data;
Kết quả sẽ là:
non_positive |
---|
-3,2 |
0 |
-20 |