I PostgreSQL, LEAST()
funktion returnerar det minsta värdet från en lista med valfritt antal uttryck.
LEAST()
funktion ingår inte i SQL-standarden, men det är ett populärt tillägg som många stora RDBMS stödjer.
Syntax
LEAST(value [, ...])
Detta innebär i princip att vi kan skicka ett eller flera värden till funktionen.
Exempel
Här är ett enkelt exempel att visa:
SELECT LEAST( 5, 2, 9 );
Resultat:
2
Vanlig datatyp
Uttrycken måste alla kunna konverteras till en gemensam datatyp. Resultatet kommer att använda denna typ.
Om uttrycken inte kan konverteras till en vanlig datatyp uppstår ett fel:
SELECT LEAST( 5, 'Two', 9 );
Resultat:
ERROR: invalid input syntax for type integer: "Two" LINE 1: SELECT LEAST( 5, 'Two', 9 ); ^
Strängar
Det föregående exemplet är inte för att antyda att vi inte kan använda strängar. Det är bara för att visa att vi inte kan konvertera datatyper.
För att demonstrera, här är ett exempel där alla argument är strängar:
SELECT LEAST( 'Cat', 'Dog', 'Aardvark' );
Resultat:
Aardvark
Datum
Här är en jämförelse av datumsträngar:
SELECT LEAST(date '2030-01-01', date '2030-12-31');
Resultat:
2030-01-01
Nullvärden
Nullvärden ignoreras om inte alla uttryck är null
. Om alla uttryck är null
, sedan null
returneras:
\pset null '<null>'
SELECT
LEAST( 5, null, 9 ),
LEAST( null, null, null );
Resultat:
least | least -------+-------- 5 | <null>
Som standard returnerar psql den tomma strängen på null-värden. I den första raden i det här exemplet ställer jag in null-värden för att mata ut <null>
så att det gör det lättare för oss att se nollresultatet.
Argument saknas
Anropar LEAST()
utan några argument resulterar i ett fel:
SELECT LEAST();
Resultat:
ERROR: syntax error at or near ")" LINE 1: SELECT LEAST(); ^
Vi kan dock skicka ett argument utan fel:
SELECT LEAST( 1 );
Resultat:
1