No PostgreSQL, o
GREATEST() A função retorna o maior (ou maior) valor de uma lista de qualquer número de expressões. O
GREATEST() A função não está incluída no padrão SQL, mas é uma extensão popular que muitos dos principais RDBMSs suportam. Sintaxe
GREATEST(value [, ...]) Isso significa que podemos passar um ou mais valores para a função.
Exemplo
Aqui está um exemplo simples para demonstrar:
SELECT GREATEST( 3, 15, 7 ); Resultado:
15
Cordas
Aqui está um exemplo onde todos os argumentos são strings:
SELECT GREATEST( 'Bear', 'Zebra', 'Ant' ); Resultado:
Zebra
Datas
Aqui está uma comparação de strings de data:
SELECT GREATEST(date '2027-01-01', date '2027-12-31'); Resultado:
2027-12-31
Tipo de dados comum
As expressões devem ser todas conversíveis para um tipo de dados comum. O resultado usará esse tipo.
Se as expressões não puderem ser convertidas em um tipo de dados comum, ocorrerá um erro:
SELECT GREATEST( 3, 'Fifteen', 7 ); Resultado:
ERROR: invalid input syntax for type integer: "Fifteen"
LINE 1: SELECT GREATEST( 3, 'Fifteen', 7 );
^ Valores nulos
Os valores nulos são ignorados, a menos que todas as expressões sejam
null . Se todas as expressões forem null , então null é retornado:\pset null '<null>'
SELECT
GREATEST( 3, null, 7 ),
GREATEST( null, null, null ); Resultado:
greatest | greatest
----------+----------
7 | <null> Por padrão, o psql retorna a string vazia em valores nulos. Na primeira linha deste exemplo, defino valores nulos para a saída
<null> para que seja mais fácil para nós ver o resultado nulo. Argumentos ausentes
Chamando
GREATEST() sem nenhum argumento resulta em um erro:SELECT GREATEST(); Resultado:
ERROR: syntax error at or near ")"
LINE 1: SELECT GREATEST();
^ No entanto, podemos passar um argumento sem erro:
SELECT GREATEST( 1 ); Resultado:
1