Trong MariaDB, SIGN()
là một hàm tích hợp trả về dấu của đối số của nó là -1
, 0
hoặc 1
, tùy thuộc vào việc đối số là âm, 0 hay dương.
Cú pháp
Cú pháp như sau:
SIGN(X)
Ở đâu X
là giá trị để trả về dấu.
Ví dụ 1
Dưới đây là một ví dụ để chứng minh:
SELECT SIGN(9);
Kết quả:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
Trong ví dụ này, giá trị là số dương, và vì vậy 1
được trả lại.
Ví dụ 2
Dưới đây là một số giá trị khác để chứng minh các kết quả đầu ra có thể có:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Kết quả:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Đối số không phải dạng số
Dưới đây là một ví dụ về những gì sẽ xảy ra khi chúng tôi cung cấp các đối số không phải là số:
SELECT SIGN('Nine');
Kết quả:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Hãy xem cảnh báo:
SHOW WARNINGS;
Kết quả:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Đối số rỗng
SIGN()
trả về null
nếu đối số của nó là null
:
SELECT SIGN(null);
Kết quả:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Đếm tham số không chính xác
Đang gọi SIGN()
với số lượng đối số sai hoặc không có bất kỳ đối số nào dẫn đến lỗi:
SELECT SIGN();
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
Và:
SELECT SIGN(10, 2);
Kết quả:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'