sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer GREATEST() i MariaDB

I MariaDB, GREATEST() er en indbygget funktion, der returnerer det største (dvs. største/maksimale værdi) argument fra sin liste over argumenter.

For at returnere minimum -valued argument, brug LEAST() .

Syntaks

Syntaksen ser sådan ud:

GREATEST(value1,value2,...)

Hvor value1,value2,… er to eller flere argumenter, der skal returneres det største for.

Eksempel

Her er et eksempel:

SELECT GREATEST(3, 8);

Resultat:

+----------------+
| GREATEST(3, 8) |
+----------------+
|              8 |
+----------------+

Her er et andet eksempel, der bruger flere argumenter:

SELECT GREATEST(3, 8, 9, 12, 80, 7, 4);

Resultat:

+---------------------------------+
| GREATEST(3, 8, 9, 12, 80, 7, 4) |
+---------------------------------+
|                              80 |
+---------------------------------+

Udtryk

Argumenterne kan indeholde udtryk som dette:

SELECT GREATEST(2 * 3, 1 * 3);

Resultat:

+------------------------+
| GREATEST(2 * 3, 1 * 3) |
+------------------------+
|                      6 |
+------------------------+

Strenge

Argumenterne behøver ikke at være numeriske. For eksempel, her er en sammenligning af strenge:

SELECT GREATEST('a', 'b', 'z');

Resultat:

+-------------------------+
| GREATEST('a', 'b', 'z') |
+-------------------------+
| z                       |
+-------------------------+

Datoer

Her er en sammenligning af datostrenge:

SELECT GREATEST('2020-01-01', '2021-01-01');

Resultat:

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

Blandede typer

MariaDB-dokumentationen angiver, at hvis et argument er en tekstfølsom streng, sammenlignes argumenterne som store og små bogstaver. Du kan dog opleve, at blandingstyper kan give uventede resultater og en advarsel.

Eksempel:

SELECT GREATEST('Cat', 10);

Resultat:

+---------------------+
| GREATEST('Cat', 10) |
+---------------------+
|                  10 |
+---------------------+
1 row in set, 1 warning (0.000 sec)

Tjek advarslen:

SHOW WARNINGS;

Resultat:

+---------+------+-----------------------------------------+
| Level   | Code | Message                                 |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'Cat' |
+---------+------+-----------------------------------------+

Nul-argumenter

GREATEST() returnerer null hvis et argument er null :

SELECT GREATEST(1, null, 3);

Resultat:

+----------------------+
| GREATEST(1, null, 3) |
+----------------------+
|                 NULL |
+----------------------+

Manglende argumenter

Kalder GREATEST() med det forkerte antal argumenter eller uden argumenter resulterer i en fejl:

SELECT GREATEST();

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'

Og:

SELECT GREATEST(10);

Resultat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'GREATEST'

  1. Hvordan får jeg en rå, kompileret SQL-forespørgsel fra et SQLAlchemy-udtryk?

  2. Hvordan erklærer man variabel og bruger den i det samme Oracle SQL-script?

  3. 9 bedste fremgangsmåder til at skrive SQL-forespørgsler

  4. En oversigt over pgModeler til PostgreSQL