Categorias:

Funções de expressão condicional

GREATEST

Retorna o maior valor de uma lista de expressões. Se algum dos valores do argumento for NULL, o resultado será NULL. GREATEST oferece suporte a todos os tipos de dados, inclusive VARIANT.

Sintaxe

GREATEST( <expr1> [ , <expr2> ... ] )
Copy

Argumentos

exprN

As expressões podem ser de qualquer tipo de dados, mas todas as expressões dentro de uma chamada devem ser do mesmo tipo de dados ou de tipos compatíveis.

Notas de uso

  • O primeiro argumento determina o tipo de retorno. Se o primeiro tipo for numérico, então o tipo de retorno será ‘ampliado’ de acordo com os tipos numéricos na lista de todos os argumentos.

    Se o primeiro tipo não for numérico, então todos os outros argumentos devem ser conversíveis para o primeiro tipo.

Detalhes do agrupamento

  • The collation specifications of all input arguments must be compatible.

  • The comparisons follow the collation based on the input arguments” collations and precedences.

  • The collation of the result of the function is the highest-precedence collation of the inputs.

Exemplos

Exemplo básico:

CREATE TABLE test_table_1_greatest (col_1 INTEGER, col_2 INTEGER, 
    col_3 INTEGER, col_4 FLOAT);
INSERT INTO test_table_1_greatest (col_1, col_2, col_3, col_4) VALUES
    (1, 2,    3,  4.00),
    (2, 4,   -1, -2.00),
    (3, 6, NULL, 13.45);
Copy
SELECT
       col_1,
       col_2,
       col_3,
       GREATEST(col_1, col_2, col_3) AS greatest
   FROM test_table_1_greatest
   ORDER BY col_1;
+-------+-------+-------+----------+
| COL_1 | COL_2 | COL_3 | GREATEST |
|-------+-------+-------+----------|
|     1 |     2 |     3 |        3 |
|     2 |     4 |    -1 |        4 |
|     3 |     6 |  NULL |     NULL |
+-------+-------+-------+----------+
Copy
SELECT
       col_1,
       col_4,
       GREATEST(col_1, col_4) AS greatest
   FROM test_table_1_greatest
   ORDER BY col_1;
+-------+-------+----------+
| COL_1 | COL_4 | GREATEST |
|-------+-------+----------|
|     1 |  4    |     4    |
|     2 | -2    |     2    |
|     3 | 13.45 |    13.45 |
+-------+-------+----------+
Copy