sql >> Database >  >> RDS >> Mysql

MySQL GREATEST()-functie - Vind het grootste argument in een lijst met argumenten

De MySQL GREATEST() functie is een vergelijkingsfunctie die de grootste waarde uit een lijst met waarden retourneert.

De lijst met waarden wordt geleverd als meerdere argumenten. Dus met andere woorden, GREATEST() geeft het argument met de maximale waarde terug uit een lijst met argumenten.

Syntaxis

De syntaxis van GREATEST() gaat als volgt:

GREATEST(value1,value2,...)

Elk argument wordt gescheiden door een komma. Deze functie vergelijkt ze allemaal en retourneert degene met de grootste waarde.

Voorbeeld 1 – Nummers vergelijken

Als alle argumenten gehele getallen zijn, worden ze vergeleken als gehele getallen.

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

Resultaat:

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

Als ten minste één argument dubbele precisie is, worden ze vergeleken als dubbele-precisiewaarden. Anders, als ten minste één argument een DECIMAL is waarde, worden ze vergeleken als DECIMAL waarden.

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

Resultaat:

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

Zie hieronder voor de exacte regels voor het bepalen van de retourwaarde.

Voorbeeld 2 – Strings vergelijken

Hier is een voorbeeld van het vergelijken van strings.

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

Resultaat:

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

Hier is er nog een:

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

Resultaat:

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

Voorbeeld 3 – NULL-waarden

Als een van de argumenten NULL . is , het resultaat is NULL .

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

Resultaat:

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

Vergelijkingsregels

Bij het bepalen van de retourwaarde worden bepaalde regels gehanteerd. Deze regels zijn als volgt:

  • Als een argument NULL is , het resultaat is NULL . Er is geen vergelijking nodig.
  • Als alle argumenten een geheel getal zijn, worden ze vergeleken als gehele getallen.
  • Als ten minste één argument dubbele precisie is, worden ze vergeleken als dubbele-precisiewaarden. Anders, als ten minste één argument een DECIMAL is waarde, worden ze vergeleken als DECIMAL waarden.
  • Als de argumenten een combinatie van getallen en tekenreeksen bevatten, worden ze vergeleken als getallen.
  • Als een argument een niet-binaire tekenreeks is, worden de argumenten vergeleken als niet-binaire tekenreeksen.
  • In alle andere gevallen worden de argumenten vergeleken als binaire strings.


  1. Vensterfuncties:last_value(ORDER BY ... ASC) hetzelfde als last_value(ORDER BY... DESC)

  2. Script om varbinaire gegevens op schijf op te slaan

  3. 7 dingen die u moet weten over compartimenten op Oracle Cloud Infrastructure

  4. Hoe u de datum van gisteren in Oracle kunt krijgen