V PostgreSQL LEAST() funkce vrací nejmenší hodnotu ze seznamu libovolného počtu výrazů.
LEAST() funkce není součástí standardu SQL, ale je to oblíbené rozšíření, které podporuje mnoho hlavních RDBMS.
Syntaxe
LEAST(value [, ...]) To v podstatě znamená, že funkci můžeme předat jednu nebo více hodnot.
Příklad
Zde je jednoduchý příklad k demonstraci:
SELECT LEAST( 5, 2, 9 ); Výsledek:
2
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 LEAST( 5, 'Two', 9 ); Výsledek:
ERROR: invalid input syntax for type integer: "Two"
LINE 1: SELECT LEAST( 5, 'Two', 9 );
^
Řetězce
Předchozí příklad nemá naznačovat, že nemůžeme používat řetězce. Je to jen proto, abychom ukázali, že nemůžeme převádět datové typy.
Pro demonstraci uvádíme příklad, kde jsou všechny argumenty řetězce:
SELECT LEAST( 'Cat', 'Dog', 'Aardvark' ); Výsledek:
Aardvark
Data
Zde je srovnání datových řetězců:
SELECT LEAST(date '2030-01-01', date '2030-12-31'); Výsledek:
2030-01-01
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
LEAST( 5, null, 9 ),
LEAST( null, null, null ); Výsledek:
least | least
-------+--------
5 | <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 nám usnadní zobrazení nulového výsledku.
Chybí argumenty
Volání LEAST() bez jakýchkoli argumentů vede k chybě:
SELECT LEAST(); Výsledek:
ERROR: syntax error at or near ")"
LINE 1: SELECT LEAST();
^ Jeden argument však můžeme předat bez chyby:
SELECT LEAST( 1 ); Výsledek:
1