Trong MariaDB, ABS() là một hàm số được tích hợp sẵn trả về giá trị tuyệt đối (không âm) của đối số của nó.
Cú pháp
Cú pháp như sau:
ABS(X)
Ở đâu X là số được đề cập. Nếu X không phải là số, nó được chuyển đổi thành kiểu số.
Ví dụ
Đây là một ví dụ:
SELECT ABS(300); Kết quả:
+----------+ | ABS(300) | +----------+ | 300 | +----------+
Chúng tôi nhận được kết quả tương tự nếu số âm:
SELECT ABS(-300); Kết quả:
+-----------+ | ABS(-300) | +-----------+ | 300 | +-----------+
Đối số không phải là số
Nếu đối số không phải là số, nó sẽ được chuyển đổi thành kiểu số.
Ví dụ:
SELECT ABS(DATE '2020-12-10'); Kết quả:
+------------------------+ | ABS(DATE '2020-12-10') | +------------------------+ | 20201210 | +------------------------+
Tuy nhiên, điều này phụ thuộc vào đối số / ngữ cảnh.
Đây là những gì sẽ xảy ra khi tôi bỏ qua DATE từ khóa:
SELECT ABS('2020-12-10'); Kết quả:
+-------------------+
| ABS('2020-12-10') |
+-------------------+
| 2020 |
+-------------------+
1 row in set, 1 warning (0.000 sec) Hãy kiểm tra cảnh báo:
SHOW WARNINGS; Kết quả:
+---------+------+------------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: '2020-12-10' | +---------+------+------------------------------------------------+
Thiếu đối số
Gọi ABS() không có đối số dẫn đến lỗi:
SELECT ABS(); Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ABS'