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'