I MariaDB, SIGN()
är en inbyggd funktion som returnerar tecknet för dess argument som -1
, 0
eller 1
, beroende på om argumentet är negativt, noll eller positivt.
Syntax
Syntaxen ser ut så här:
SIGN(X)
Där X
är värdet för vilket tecknet ska returneras.
Exempel 1
Här är ett exempel att visa:
SELECT SIGN(9);
Resultat:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
I det här exemplet är värdet positivt, och så 1
returneras.
Exempel 2
Här är några fler värden för att demonstrera möjliga utgångar:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Resultat:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Icke-numeriska argument
Här är ett exempel på vad som händer när vi tillhandahåller icke-numeriska argument:
SELECT SIGN('Nine');
Resultat:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Låt oss se varningen:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Nollargument
SIGN()
returnerar null
om dess argument är null
:
SELECT SIGN(null);
Resultat:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Felaktig parameterräkning
Anropar SIGN()
med fel antal argument, eller utan några argument resulterar i ett fel:
SELECT SIGN();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
Och:
SELECT SIGN(10, 2);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'