In MariaDB, GREATEST()
ist eine eingebaute Funktion, die das größte (d. h. größte/höchstwertige) Argument aus ihrer Liste von Argumenten zurückgibt.
Um das Minimum zurückzugeben -wertiges Argument, verwenden Sie LEAST()
.
Syntax
Die Syntax lautet wie folgt:
GREATEST(value1,value2,...)
Wobei value1,value2,…
sind zwei oder mehr Argumente, für die das größte zurückzugeben ist.
Beispiel
Hier ist ein Beispiel:
SELECT GREATEST(3, 8);
Ergebnis:
+----------------+| GRÖSSTE(3, 8) |+----------------+| 8 |+----------------+
Hier ist ein weiteres Beispiel, das mehr Argumente verwendet:
SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);
Ergebnis:
+---------------------------------+| GRÖSSTE(3, 8, 9, 12, 80, 7, 4) |+------------------------------- -+| 80 |+---------------------------------------------+
Ausdrücke
Die Argumente können Ausdrücke wie diesen enthalten:
SELECT GREATEST(2 * 3, 1 * 3);
Ergebnis:
+------------------------+| GRÖSSTE (2 * 3, 1 * 3) |+------------------------+| 6 |+------------------------+
Strings
Die Argumente müssen nicht numerisch sein. Hier ist zum Beispiel ein Vergleich von Strings:
SELECT GREATEST('a', 'b', 'z');
Ergebnis:
+-------------------------+| GRÖSSTE('a', 'b', 'z') |+--------------------+| z |+-------------------------+
Termine
Hier ist ein Vergleich von Datumszeichenfolgen:
SELECT GREATEST('2020-01-01', '2021-01-01');
Ergebnis:
Mischtypen
Die MariaDB-Dokumentation besagt, dass, wenn ein Argument eine Zeichenfolge mit Berücksichtigung der Groß-/Kleinschreibung ist, die Argumente als Zeichenfolgen mit Berücksichtigung der Groß-/Kleinschreibung verglichen werden. Möglicherweise stellen Sie jedoch fest, dass das Mischen von Typen zu unerwarteten Ergebnissen und einer Warnung führen kann.
Beispiel:
SELECT GREATEST('Cat', 10);
Ergebnis:
+---------------------+| GRÖSSTE('Katze', 10) |+---------------------+| 10 |+---------------------+1 Zeile im Satz, 1 Warnung (0,000 Sek.)
Überprüfen Sie die Warnung:
SHOW WARNINGS;
Ergebnis:
+---------+------+------------------------------------- -------------+| Ebene | Code | Nachricht |+---------+------+------------------------------ -----------+| Warnung | 1292 | Abgeschnittener falscher DOUBLE-Wert:'Cat' |+---------+------+----------------------- ------------------+
Null-Argumente
GREATEST()
gibt null
zurück wenn irgendein Argument null
ist :
SELECT GREATEST(1, null, 3);
Ergebnis:
+----------------------+| GREATEST(1, null, 3) |+---------------------+| NULL |+----------------------+
Fehlende Argumente
Aufruf von GREATEST()
mit der falschen Anzahl von Argumenten oder ohne Argumente führt zu einem Fehler:
SELECT GREATEST();
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „GREATEST“
Und:
SELECT GREATEST(10);
Ergebnis:
FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „GREATEST“