Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách tính giá trị tuyệt đối trong SQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh SQL, trình tạo truy vấn và ORM

  2. Thống kê chờ Knee-Jerk:PAGELATCH

  3. Mô hình dữ liệu cho ứng dụng đặt lịch hẹn khám bệnh

  4. Chỉ mục đã lọc và Cột BAO GỒM

  5. 5 lỗi thiết kế truy vấn SQL rất phổ biến cần tránh bằng mọi giá