sql >> Databáze >  >> RDS >> MariaDB

Jak funguje GREATEST() v MariaDB

V MariaDB, GREATEST() je vestavěná funkce, která vrací největší (tj. největší/maximální) argument ze svého seznamu argumentů.

Chcete-li vrátit minimum -hodnotový argument, použijte LEAST() .

Syntaxe

Syntaxe vypadá takto:

GREATEST(value1,value2,...)

Kde value1,value2,… jsou dva nebo více argumentů, pro které se má vrátit největší.

Příklad

Zde je příklad:

SELECT GREATEST(3, 8);

Výsledek:

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

Zde je další příklad, který používá více argumentů:

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

Výsledek:

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

Výrazy

Argumenty mohou obsahovat výrazy jako je tento:

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

Výsledek:

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

Řetězce

Argumenty nemusí být číselné. Zde je například srovnání řetězců:

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

Výsledek:

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

Data

Zde je srovnání datových řetězců:

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

Výsledek:

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

Smíšené typy

Dokumentace MariaDB uvádí, že pokud je některý argument řetězcem rozlišujícím malá a velká písmena, argumenty jsou porovnávány jako řetězce rozlišující malá a velká písmena. Můžete však zjistit, že míchání typů může přinést neočekávané výsledky a varování.

Příklad:

SELECT GREATEST('Cat', 10);

Výsledek:

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

Zkontrolujte varování:

SHOW WARNINGS;

Výsledek:

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

Nulové argumenty

GREATEST() vrátí null pokud je nějaký argument null :

SELECT GREATEST(1, null, 3);

Výsledek:

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

Chybí argumenty

Volání GREATEST() s nesprávným počtem argumentů nebo bez jakýchkoli argumentů vede k chybě:

SELECT GREATEST();

Výsledek:

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

A:

SELECT GREATEST(10);

Výsledek:

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

  1. freeTDS nepoužívá svou konfiguraci

  2. Platné náhrady formátovaných řetězců pro funkci SQLite Strftime().

  3. Jak detekovat znaky UTF-8 ve sloupci zakódovaném Latin1 - MySQL

  4. Jak získat model obnovy databáze v SQL Server pomocí T-SQL