Função MAXIMUM( )

Retorna o valor máximo em um conjunto de valores numéricos ou o valor mais recente em um conjunto de valores de datahora.

Sintaxe

MAXIMUM(valor_1; valor_2 <;...n>)

Parâmetros

Nome Tipo Descrição
valor_1, valor_2<, ...n>

numérico

datahora

Os valores a serem comparados, separados por pontos e vírgulas ou espaços.

Todos os valores devem ser do mesmo tipo de dados.

Além disso, os valores de datahora devem ser do mesmo subtipo. Não é possível misturar valores de datas, datahoras ou horas em uma única execução da função.

Saída

Numérico ou datahora.

Exemplos

Exemplos básicos

Entrada numérica literal

Retorna 7:

MAXIMUM(4; 7)

Retorna 8:

MAXIMUM(4; 7; 3; 8)

Retorna 8,00:

MAXIMUM(4; 7,25; 3; 8)

Entrada de datahora literal

Retorna `20161231`:

MAXIMUM(`20161231`; `20161229`; `20161230`)

Retorna `20161231 23:59:59`:

MAXIMUM(`20161231 235959`; `20161229 235959`)

Retorna `23:59:59`:

MAXIMUM(`.235957`; `.235959`; `.235958`)

Entrada de campo

Retorna a data mais recente entre os três campos para cada registro:

MAXIMUM(Data_Rec; Data_Fatura; Data_Pagamento)

Exemplos avançados

Criação de um campo calculado com um valor padrão mínimo

Se você tiver uma tabela de contas vencidas, crie um campo calculado Juros_a_pagar com um valor mínimo padrão de US$ 1,00:

DEFINE FIELD Juros_a_pagar COMPUTED MAXIMUM(BALANCE * ANNUAL_RATE; 1)

Se o saldo multiplicado pela taxa de juros for menor que 1 dólar, MAXIMUM( ) retornará 1. Caso contrário, MAXIMUM( ) retornará o valor dos juros calculados.

Descobrindo datas além do final de um trimestre

Para descobrir se qualquer data em vários campos é posterior ao final de um trimestre, crie um campo calculado com uma expressão como esta:

DEFINE FIELD Trim_Posterior COMPUTED MAXIMUM(Data_Pedido; Data_Fatura; Data_Pagamento; `20160331`)
  • Registros com todas as datas iguais ou anteriores a 31 Mar 2016 retornam `20160331`.
  • Registros com uma ou mais datas após 31 Mar 2016 retornam a data mais recente entre os três campos.

Observações

Como as casas decimais funcionam em conjuntos de valores numéricos

Se os valores numéricos sendo comparados não tiverem o mesmo número de casas decimais, o resultado será ajustado para o maior número de casas decimais.

Retorna 20,400:

MAXIMUM(3,682; 10,88; 20,4)

Você pode usar a função DECIMALS( ) para ajustar o número de casas decimais para parâmetros valor.

Retorna 20,40:

MAXIMUM(DECIMALS(3,682; 2); 10,88; 20,4)
Guia de scripting do ACL 14.1