sql >> Database teknologi >  >> RDS >> PostgreSQL

LEAST() Funktion i PostgreSQL

I PostgreSQL er LEAST() funktion returnerer den mindste værdi fra en liste over et vilkårligt antal udtryk.

LEAST() funktion er ikke inkluderet i SQL-standarden, men det er en populær udvidelse, som mange større RDBMS'er understøtter.

Syntaks

LEAST(value [, ...])

Det betyder grundlæggende, at vi kan videregive en eller flere værdier til funktionen.

Eksempel

Her er et simpelt eksempel til at demonstrere:

SELECT LEAST( 5, 2, 9 );

Resultat:

2

Almindelig datatype

Udtrykkene skal alle kunne konverteres til en fælles datatype. Resultatet vil bruge denne type.

Hvis udtrykkene ikke kan konverteres til en almindelig datatype, opstår der en fejl:

SELECT LEAST( 5, 'Two', 9 );

Resultat:

ERROR:  invalid input syntax for type integer: "Two"
LINE 1: SELECT LEAST( 5, 'Two', 9 );
                         ^

Strenge

Det forrige eksempel er ikke for at antyde, at vi ikke kan bruge strenge. Det er blot for at vise, at vi ikke kan konvertere datatyper.

For at demonstrere er her et eksempel, hvor alle argumenter er strenge:

SELECT LEAST( 'Cat', 'Dog', 'Aardvark' );

Resultat:

Aardvark

Datoer

Her er en sammenligning af datostrenge:

SELECT LEAST(date '2030-01-01', date '2030-12-31');

Resultat:

2030-01-01

Nul-værdier

Null-værdier ignoreres, medmindre alle udtryk er null . Hvis alle udtryk er null , derefter null returneres:

\pset null '<null>'
SELECT 
    LEAST( 5, null, 9 ),
    LEAST( null, null, null );

Resultat:

 least | least  
-------+--------
     5 | <null>

Som standard returnerer psql den tomme streng på null-værdier. I den første linje i dette eksempel satte jeg null-værdier til output <null> så det gør det nemmere for os at se nulresultatet.

Manglende argumenter

Kalder LEAST() uden nogen argumenter resulterer i en fejl:

SELECT LEAST();

Resultat:

ERROR:  syntax error at or near ")"
LINE 1: SELECT LEAST();
                     ^

Vi kan dog sende et argument uden fejl:

SELECT LEAST( 1 );

Resultat:

1

  1. Bulk Insert til Oracle ved hjælp af .NET

  2. MySQL opdaterer en sammenføjet tabel

  3. En datamodel for en lægebestillingsapp

  4. Anbefalede Intel-processorer til SQL Server 2014-arbejdsbelastninger