I PostgreSQL er GREATEST() funktion returnerer den største (eller største) værdi fra en liste over et vilkårligt antal udtryk.
GREATEST() funktion er ikke inkluderet i SQL-standarden, men det er en populær udvidelse, som mange større RDBMS'er understøtter.
Syntaks
GREATEST(value [, ...]) Det betyder, at vi kan videregive en eller flere værdier til funktionen.
Eksempel
Her er et simpelt eksempel til at demonstrere:
SELECT GREATEST( 3, 15, 7 ); Resultat:
15
Strenge
Her er et eksempel, hvor alle argumenter er strenge:
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' ); Resultat:
Zebra
Datoer
Her er en sammenligning af datostrenge:
SELECT GREATEST(date '2027-01-01', date '2027-12-31'); Resultat:
2027-12-31
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 GREATEST( 3, 'Fifteen', 7 ); Resultat:
ERROR: invalid input syntax for type integer: "Fifteen"
LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 );
^ Nul-værdier
Null-værdier ignoreres, medmindre alle udtryk er null . Hvis alle udtryk er null , derefter null returneres:
\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null ); Resultat:
greatest | greatest
----------+----------
7 | <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 GREATEST() uden argumenter resulterer i en fejl:
SELECT GREATEST(); Resultat:
ERROR: syntax error at or near ")"
LINE 1: SELECT GREATEST();
^ Vi kan dog sende ét argument uden fejl:
SELECT GREATEST( 1 ); Resultat:
1