Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL GREATEST() Funktion – Finden Sie das größte Argument in einer Liste von Argumenten

Der MySQL GREATEST() Funktion ist eine Vergleichsfunktion, die den größten Wert aus einer Werteliste zurückgibt.

Die Werteliste wird als mehrere Argumente bereitgestellt. Also mit anderen Worten, GREATEST() gibt das höchstwertige Argument aus einer Liste von Argumenten zurück.

Syntax

Die Syntax von GREATEST() geht so:

GREATEST(value1,value2,...)

Jedes Argument wird durch ein Komma getrennt. Diese Funktion vergleicht sie alle und gibt diejenige mit dem größten Wert zurück.

Beispiel 1 – Zahlen vergleichen

Wenn alle Argumente ganze Zahlen sind, werden sie als ganze Zahlen verglichen.

SELECT GREATEST(12, 120, 2400) AS 'Result';

Ergebnis:

+--------+
| Result |
+--------+
|   2400 |
+--------+

Wenn mindestens ein Argument doppelte Genauigkeit hat, werden sie als Werte mit doppelter Genauigkeit verglichen. Andernfalls, wenn mindestens ein Argument ein DECIMAL ist Wert, werden sie als DECIMAL verglichen Werte.

SELECT GREATEST(12.00, 120, 2400) AS 'Result';

Ergebnis:

+---------+
| Result  |
+---------+
| 2400.00 |
+---------+

Die genauen Regeln zur Bestimmung des Rückgabewerts finden Sie weiter unten.

Beispiel 2 – Strings vergleichen

Hier ist ein Beispiel für den Vergleich von Strings.

SELECT GREATEST('a', 'b', 'c') AS 'Result';

Ergebnis:

+--------+
| Result |
+--------+
| c      |
+--------+

Hier ist noch einer:

SELECT GREATEST('Cat', 'Dogg', 'Rat') AS 'Result';

Ergebnis:

+--------+
| Result |
+--------+
| Rat    |
+--------+

Beispiel 3 – NULL-Werte

Wenn eines der Argumente NULL ist , ist das Ergebnis NULL .

SELECT GREATEST('a', NULL, 'c') AS 'Result';

Ergebnis:

+--------+
| Result |
+--------+
| NULL   |
+--------+

Vergleichsregeln

Bei der Bestimmung des Rückgabewerts werden bestimmte Regeln angewendet. Diese Regeln lauten wie folgt:

  • Wenn irgendein Argument NULL ist , ist das Ergebnis NULL . Es ist kein Vergleich erforderlich.
  • Wenn alle Argumente ganzzahlig sind, werden sie als Ganzzahlen verglichen.
  • Wenn mindestens ein Argument doppelte Genauigkeit hat, werden sie als Werte mit doppelter Genauigkeit verglichen. Andernfalls, wenn mindestens ein Argument ein DECIMAL ist Wert, werden sie als DECIMAL verglichen Werte.
  • Wenn die Argumente eine Mischung aus Zahlen und Zeichenketten umfassen, werden sie als Zahlen verglichen.
  • Wenn ein Argument eine nichtbinäre (Zeichen-)Zeichenfolge ist, werden die Argumente als nichtbinäre Zeichenfolgen verglichen.
  • In allen anderen Fällen werden die Argumente als Binärstrings verglichen.