sql >> Databáze >  >> RDS >> Mysql

Funkce MySQL GREATEST() – Najděte největší argument v seznamu argumentů

MySQL GREATEST() funkce je porovnávací funkce, která vrací největší hodnotu ze seznamu hodnot.

Seznam hodnot je poskytován jako více argumentů. Jinými slovy, GREATEST() vrátí maximální hodnotu argumentu ze seznamu argumentů.

Syntaxe

Syntaxe GREATEST() vypadá takto:

GREATEST(value1,value2,...)

Každý argument je oddělen čárkou. Tato funkce je všechny porovná a vrátí ten s největší hodnotou.

Příklad 1 – Porovnání čísel

Pokud jsou všechny argumenty celá čísla, jsou porovnávány jako celá čísla.

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

Výsledek:

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

Pokud má alespoň jeden argument dvojitou přesnost, jsou porovnány jako hodnoty s dvojnásobnou přesností. Jinak, pokud je alespoň jeden argument DECIMAL hodnota, jsou porovnány jako DECIMAL hodnoty.

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

Výsledek:

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

Přesná pravidla pro určení návratové hodnoty naleznete níže.

Příklad 2 – Porovnání řetězců

Zde je příklad porovnání řetězců.

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

Výsledek:

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

Tady je další:

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

Výsledek:

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

Příklad 3 – hodnoty NULL

Pokud je některý z argumentů NULL , výsledkem je NULL .

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

Výsledek:

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

Pravidla porovnávání

Při určování návratové hodnoty se uplatňují určitá pravidla. Tato pravidla jsou následující:

  • Pokud je některý argument NULL , výsledkem je NULL . Není potřeba žádné srovnání.
  • Pokud mají všechny argumenty celočíselnou hodnotu, jsou porovnávány jako celá čísla.
  • Pokud má alespoň jeden argument dvojnásobnou přesnost, jsou porovnány jako hodnoty s dvojnásobnou přesností. Jinak, pokud je alespoň jeden argument DECIMAL hodnota, jsou porovnány jako DECIMAL hodnoty.
  • Pokud argumenty obsahují kombinaci čísel a řetězců, porovnávají se jako čísla.
  • Pokud je některý argument nebinární (znakový) řetězec, jsou argumenty porovnány jako nebinární řetězce.
  • Ve všech ostatních případech jsou argumenty porovnávány jako binární řetězce.


  1. ROW_NUMBER v SQL – Vyberte Nejlepší příklad v SQL a SQL Server

  2. Navicat pro MySQL

  3. Pochopení příkazů PIVOT, UNPIVOT a Reverse PIVOT

  4. Jaký je nejlepší způsob předání parametrů SQLCommand?