I PostgreSQL, GREATEST() funktion returnerar det största (eller största) värdet från en lista med valfritt antal uttryck.
GREATEST() funktion ingår inte i SQL-standarden, men det är ett populärt tillägg som många stora RDBMS stödjer.
Syntax
GREATEST(value [, ...]) Det betyder att vi kan skicka ett eller flera värden till funktionen.
Exempel
Här är ett enkelt exempel att visa:
SELECT GREATEST( 3, 15, 7 ); Resultat:
15
Strängar
Här är ett exempel där alla argument är strängar:
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' ); Resultat:
Zebra
Datum
Här är en jämförelse av datumsträngar:
SELECT GREATEST(date '2027-01-01', date '2027-12-31'); Resultat:
2027-12-31
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 GREATEST( 3, 'Fifteen', 7 ); Resultat:
ERROR: invalid input syntax for type integer: "Fifteen"
LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 );
^ Nullvärden
Nullvärden ignoreras om inte alla uttryck är null . Om alla uttryck är null , sedan null returneras:
\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null ); Resultat:
greatest | greatest
----------+----------
7 | <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 nollvärden för att mata ut <null> så att det gör det lättare för oss att se nollresultatet.
Argument saknas
Anropar GREATEST() utan några argument resulterar i ett fel:
SELECT GREATEST(); Resultat:
ERROR: syntax error at or near ")"
LINE 1: SELECT GREATEST();
^ Däremot kan vi skicka ett argument utan fel:
SELECT GREATEST( 1 ); Resultat:
1