sql >> Database teknologi >  >> RDS >> Mysql

MySQL GREATEST() Funktion – Find det største argument i en liste over argumenter

 MySQL GREATEST() funktion er en sammenligningsfunktion, der returnerer den største værdi fra en liste over værdier.

Listen over værdier er angivet som flere argumenter. Så med andre ord, GREATEST() returnerer argumentet med maksimal værdi fra en liste over argumenter.

Syntaks

Syntaksen for GREATEST() går sådan her:

GREATEST(value1,value2,...)

Hvert argument er adskilt af et komma. Denne funktion sammenligner dem alle og returnerer den med den største værdi.

Eksempel 1 – Sammenligning af tal

Hvis alle argumenter er heltal, sammenlignes de som heltal.

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

Resultat:

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

Hvis mindst et argument er dobbelt præcision, sammenlignes de som dobbeltpræcisionsværdier. Ellers, hvis mindst ét ​​argument er en DECIMAL værdi, sammenlignes de som DECIMAL værdier.

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

Resultat:

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

Se nedenfor for de nøjagtige regler for bestemmelse af returværdien.

Eksempel 2 – Sammenligning af strenge

Her er et eksempel på sammenligning af strenge.

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

Resultat:

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

Her er endnu en:

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

Resultat:

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

Eksempel 3 – NULL-værdier

Hvis nogen af ​​argumenterne er NULL , resultatet er NULL .

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

Resultat:

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

Sammenligningsregler

Visse regler anvendes, når det bestemmes, hvad returværdien vil være. Disse regler er som følger:

  • Hvis et argument er NULL , resultatet er NULL . Ingen sammenligning er nødvendig.
  • Hvis alle argumenter har et heltal, sammenlignes de som heltal.
  • Hvis mindst ét ​​argument er dobbelt præcision, sammenlignes de som dobbeltpræcisionsværdier. Ellers, hvis mindst ét ​​argument er en DECIMAL værdi, sammenlignes de som DECIMAL værdier.
  • Hvis argumenterne omfatter en blanding af tal og strenge, sammenlignes de som tal.
  • Hvis et argument er en ikke-binær (tegn)streng, sammenlignes argumenterne som ikke-binære strenge.
  • I alle andre tilfælde sammenlignes argumenterne som binære strenge.


  1. Hvordan opretter jeg forbindelse til en MySQL-database i Python?

  2. Metoder til at rangere rækker i SQL Server:ROW_NUMBER(), RANK(), DENSE_RANK() og NTILE()

  3. 2 måder at tilføje førende nuller i PostgreSQL

  4. Sådan downloades Postgres bytea-kolonne som fil