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.