I MariaDB, SIGN()
er en indbygget funktion, der returnerer tegnet for sit argument som -1
, 0
eller 1
, afhængigt af om argumentet er negativt, nul eller positivt.
Syntaks
Syntaksen ser sådan ud:
SIGN(X)
Hvor X
er den værdi, som tegnet skal returneres for.
Eksempel 1
Her er et eksempel til demonstration:
SELECT SIGN(9);
Resultat:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
I dette eksempel er værdien positiv, og så 1
er returneret.
Eksempel 2
Her er nogle flere værdier for at demonstrere de mulige output:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Resultat:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Ikke-numeriske argumenter
Her er et eksempel på, hvad der sker, når vi giver ikke-numeriske argumenter:
SELECT SIGN('Nine');
Resultat:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Lad os se advarslen:
SHOW WARNINGS;
Resultat:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Nul-argument
SIGN()
returnerer null
hvis dets argument er null
:
SELECT SIGN(null);
Resultat:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Forkert parameterantal
Kalder SIGN()
med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:
SELECT SIGN();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
Og:
SELECT SIGN(10, 2);
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'