sql >> Databasteknik >  >> RDS >> Mysql

MySQL GREATEST() Funktion – Hitta det största argumentet i en lista med argument

 MySQL GREATEST() funktion är en jämförelsefunktion som returnerar det största värdet från en lista med värden.

Värdelistan tillhandahålls som flera argument. Så med andra ord, GREATEST() returnerar det maximalt värderade argumentet från en lista med argument.

Syntax

Syntaxen för GREATEST() går så här:

GREATEST(value1,value2,...)

Varje argument avgränsas med ett kommatecken. Den här funktionen jämför dem alla och returnerar den med det största värdet.

Exempel 1 – Jämföra siffror

Om alla argument är heltal jämförs de som heltal.

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

Resultat:

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

Om minst ett argument är dubbel precision jämförs de som dubbelprecisionsvärden. Annars, om minst ett argument är en DECIMAL värde, jämförs de som DECIMAL värden.

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

Resultat:

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

Se nedan för de exakta reglerna för att bestämma returvärdet.

Exempel 2 – Jämföra strängar

Här är ett exempel på att jämföra strängar.

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

Resultat:

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

Här är en till:

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

Resultat:

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

Exempel 3 – NULL-värden

Om något av argumenten är NULL , resultatet är NULL .

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

Resultat:

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

Jämförelseregler

Vissa regler tillämpas när man bestämmer vad returvärdet blir. Dessa regler är följande:

  • Om något argument är NULL , resultatet är NULL . Ingen jämförelse behövs.
  • Om alla argument har ett heltalsvärde jämförs de som heltal.
  • Om minst ett argument är dubbel precision jämförs de som värden med dubbel precision. Annars, om minst ett argument är en DECIMAL värde, jämförs de som DECIMAL värden.
  • Om argumenten består av en blandning av tal och strängar jämförs de som tal.
  • Om något argument är en ickebinär (teckensträng) jämförs argumenten som ickebinära strängar.
  • I alla andra fall jämförs argumenten som binära strängar.


  1. Använder AT TIME ZONE för att fixa en gammal rapport

  2. Hitta dubbletter av rader i SQL Server

  3. SQL Data Manipulation Language

  4. Tablespace SYSMGMTDATA är FULL i Grid Infrastructure Management Repository (MGMTDB)