V PostgreSQL, GREATEST() funkce vrací největší (nebo největší) hodnotu ze seznamu libovolného počtu výrazů.
GREATEST() funkce není součástí standardu SQL, ale je to oblíbené rozšíření, které podporuje mnoho hlavních RDBMS.
Syntaxe
GREATEST(value [, ...]) To znamená, že funkci můžeme předat jednu nebo více hodnot.
Příklad
Zde je jednoduchý příklad k demonstraci:
SELECT GREATEST( 3, 15, 7 ); Výsledek:
15
Řetězce
Zde je příklad, kde jsou všechny argumenty řetězce:
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' ); Výsledek:
Zebra
Data
Zde je srovnání datových řetězců:
SELECT GREATEST(date '2027-01-01', date '2027-12-31'); Výsledek:
2027-12-31
Běžný datový typ
Všechny výrazy musí být převoditelné na běžný datový typ. Výsledek použije tento typ.
Pokud výrazy nelze převést na běžný datový typ, dojde k chybě:
SELECT GREATEST( 3, 'Fifteen', 7 ); Výsledek:
ERROR: invalid input syntax for type integer: "Fifteen"
LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 );
^ Nulové hodnoty
Hodnoty Null jsou ignorovány, pokud nejsou všechny výrazy null . Pokud jsou všechny výrazy null a poté null je vráceno:
\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null ); Výsledek:
greatest | greatest
----------+----------
7 | <null>
Ve výchozím nastavení vrací psql prázdný řetězec na hodnotách null. V prvním řádku v tomto příkladu nastavím hodnoty null na výstup <null> takže pro nás bude snazší vidět nulový výsledek.
Chybí argumenty
Volání GREATEST() bez jakýchkoli argumentů vede k chybě:
SELECT GREATEST(); Výsledek:
ERROR: syntax error at or near ")"
LINE 1: SELECT GREATEST();
^ Jeden argument však můžeme předat bez chyby:
SELECT GREATEST( 1 ); Výsledek:
1