MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Wie GREATEST() in MariaDB funktioniert

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:

+--------------------------------------+| GREATEST('2020-01-01', '2021-01-01') |+------------------------------ --------+| 01.01.2021 |+-------------------------------------+

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“