In MariaDB SIGN()
ist eine eingebaute Funktion, die das Vorzeichen ihres Arguments als -1
zurückgibt , 0
, oder 1
, abhängig davon, ob das Argument negativ, null oder positiv ist.
Syntax
Die Syntax lautet wie folgt:
SIGN(X)
Wobei X
ist der Wert, für den das Vorzeichen zurückgegeben werden soll.
Beispiel 1
Hier ist ein Beispiel zur Veranschaulichung:
SELECT SIGN(9);
Ergebnis:
+---------+ | SIGN(9) | +---------+ | 1 | +---------+
In diesem Beispiel ist der Wert positiv, also 1
zurückgegeben wird.
Beispiel 2
Hier sind einige weitere Werte, um die möglichen Ausgaben zu demonstrieren:
SELECT
SIGN(8),
SIGN(-8),
SIGN(0);
Ergebnis:
+---------+----------+---------+ | SIGN(8) | SIGN(-8) | SIGN(0) | +---------+----------+---------+ | 1 | -1 | 0 | +---------+----------+---------+
Nicht numerische Argumente
Hier ist ein Beispiel dafür, was passiert, wenn wir nicht-numerische Argumente angeben:
SELECT SIGN('Nine');
Ergebnis:
+--------------+ | SIGN('Nine') | +--------------+ | 0 | +--------------+ 1 row in set, 1 warning (0.000 sec)
Sehen wir uns die Warnung an:
SHOW WARNINGS;
Ergebnis:
+---------+------+------------------------------------------+ | Level | Code | Message | +---------+------+------------------------------------------+ | Warning | 1292 | Truncated incorrect DOUBLE value: 'Nine' | +---------+------+------------------------------------------+
Null-Argument
SIGN()
gibt null
zurück wenn sein Argument null
ist :
SELECT SIGN(null);
Ergebnis:
+------------+ | SIGN(null) | +------------+ | NULL | +------------+
Falsche Parameteranzahl
Aufruf von SIGN()
mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT SIGN();
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'
Und:
SELECT SIGN(10, 2);
Ergebnis:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SIGN'