Skip to main content

Funzioni Min/Max

Una funzione minima o massima trova il valore più piccolo e più grande di un set di valori. Utilizza le funzioni Min/Max solo con i tipi di dati numerici (a eccezione della funzione Between, che accetta anche i tipi di dati stringa).

Between

BETWEEN(x, min, max) : verifica se un valore (x) è compreso tra altri 2 valori (min e max), compresi i valori in questione. Restituisce TRUE se x è compreso tra min e max. Restituisce FALSE se x non è compreso tra min e max.

  • Affinché un valore sia compreso tra 2 valori, deve essere maggiore o uguale al valore minimo e minore o uguale al valore massimo.

  • Tutti i parametri devono essere di tipo numerico o stringa* (compreso data-ora). I blob e gli oggetti spaziali non sono supportati. Inoltre, tutti i parametri devono trovarsi nella stessa categoria di tipo di dati. Ad esempio, tutti devono essere numerici o tutti devono essere stringa/data e ora.

  • Per i tipi di dati stringa, la valutazione non fa distinzione tra maiuscole e minuscole. Ad esempio, "gatto" viene trattato come "GATTO".

*Confronto di stringhe complesse

Per confronti di stringhe più complesse, ad esempio stringhe che utilizzano caratteri larghi o a metà larghezza o dizionari localizzati, i risultati potrebbero non essere previsti quando si tratta di ordinamento del dizionario.

Per garantire risultati accurati, si consiglia di utilizzare una combinazione della funzione CompareDictionary o dello Strumento Ordina con un dizionario specifico indicato. Per esempio:

CompareDictionary(minString, mystr) && CompareDictionary(mystr,maxString)

Esempio

BETWEEN(2, 2, 4) restituisce TRUE.

BETWEEN(4.56, 4.4, 4.5) restituisce FALSE.

BETWEEN("2022-10-31", "2021-01-01", "2021-12-31") restituisce FALSE.

BETWEEN(DateTimeAdd("13:05:23", 30, "minutes"), "12:00:00", "14:00:00") restituisce TRUE.

BETWEEN("cat", "CAT", "dog") restituisce TRUE.

NOT BETWEEN(5, 1, 10) restituisce FALSE. 5 è compreso tra 1 e 10, quindi l'espressione viene valutata come FALSE a causa dell'operatore NOT.

Bound

Bound(x, min, max) : se (x < min) restituisce min e se (x > max) restituisce max, altrimenti restituisce (x).

Esempio

Bound(6,1,5) restituisce 5.

Bound(3,1,5) restituisce 3.

Max

Max(v0, v1, ..., vn) : restituisce il valore massimo dell'elenco.

Esempio

Max(15, 180, 7, 13, 45, 2, 13) restituisce 180.

MaxIDX

MaxIDX(v0, v1,..., vn) : restituisce l'indice in base 0 del valore massimo dell'elenco.

Esempio

MaxIDX(15,180,7,13,45,2,13) restituisce 1.

Min

Min(v0, v1,..., vn) : restituisce il valore minimo dell'elenco.

Esempio

Min(15, 180, 7, 13, 45, 2, 13) restituisce 2.

MinIDX

MinIDX(v0, v1,..., vn) : restituisce l'indice in base 0 del valore minimo dell'elenco.

Esempio

MinIDX(15, 180, 7, 13, 45, 2, 13) restituisce 5.