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'