В MariaDB, SIGN()
е вградена функция, която връща знака на своя аргумент като -1
, 0
, или 1
, в зависимост от това дали аргументът е отрицателен, нулев или положителен.
Синтаксис
Синтаксисът е така:
SIGN(X)
Където X
е стойността, за която да се върне знакът.
Пример 1
Ето пример за демонстрация:
SELECT SIGN(9);
Резултат:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
В този пример стойността е положителна и така 1
се връща.
Пример 2
Ето още няколко стойности за демонстриране на възможните резултати:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Резултат:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Нечислови аргументи
Ето пример за това какво се случва, когато предоставим нечислови аргументи:
SELECT SIGN('Nine');
Резултат:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Нека видим предупреждението:
SHOW WARNINGS;
Резултат:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Нулев аргумент
SIGN()
връща null
ако неговият аргумент е null
:
SELECT SIGN(null);
Резултат:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Неправилен брой параметри
Извикване на SIGN()
с грешен брой аргументи или без никакви аргументи води до грешка:
SELECT SIGN();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
И:
SELECT SIGN(10, 2);
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'