sql >> Databasteknik >  >> RDS >> MariaDB

Hur GREATEST() fungerar i MariaDB

I MariaDB, GREATEST() är en inbyggd funktion som returnerar det största (d.v.s. största/högsta) argumentet från sin lista med argument.

För att returnera minimum -valued argument, använd LEAST() .

Syntax

Syntaxen ser ut så här:

GREATEST(value1,value2,...)

Där value1,value2,… är två eller flera argument för att returnera störst.

Exempel

Här är ett exempel:

SELECT GREATEST(3, 8);

Resultat:

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

Här är ett annat exempel som använder fler argument:

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

Resultat:

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

Uttryck

Argumenten kan innehålla uttryck som detta:

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

Resultat:

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

Strängar

Argumenten behöver inte vara numeriska. Till exempel, här är en jämförelse av strängar:

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

Resultat:

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

Datum

Här är en jämförelse av datumsträngar:

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

Resultat:

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

Blandade typer

MariaDB-dokumentationen säger att om något argument är en skiftlägeskänslig sträng jämförs argumenten som skiftlägeskänsliga strängar. Du kan dock upptäcka att blandningstyper kan ge oväntade resultat och en varning.

Exempel:

SELECT GREATEST('Cat', 10);

Resultat:

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

Kontrollera varningen:

SHOW WARNINGS;

Resultat:

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

Nollargument

GREATEST() returnerar null om något argument är null :

SELECT GREATEST(1, null, 3);

Resultat:

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

Argument saknas

Anropar GREATEST() med fel antal argument, eller utan några argument resulterar i ett fel:

SELECT GREATEST();

Resultat:

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

Och:

SELECT GREATEST(10);

Resultat:

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

  1. Hur fungerar en MYSQL Self-Join?

  2. (mysql, php) Hur får man fram auto_increment-fältvärdet innan man infogar data?

  3. INDIA, STD Code Finder Script i PHP, MYSQL, JQUERY

  4. Hur jag skapar installationsprogram för webbplatsen. PHP mysql