sql >> Databáze >  >> RDS >> PostgreSQL

Funkce LEAST() v PostgreSQL

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

  1. Zrušte vnoření více polí paralelně

  2. Vložení obrázku z Oracle do SQL Serveru

  3. AUTONOMOUS_TRANSACTION

  4. Aktivita a přístup ke službě na pozadí k databázi SQLite