最小值/最大值函数
Min/Max 函数查找一组值的最小和最大值。Min/Max 函数只能与数字 数据类型 一起使用。Between 函数除外,因为 Between 函数也接受字符串数据类型。
Between
BETWEEN(x, min, max)
:测试一个值 (x) 是否介于两个其他值(最小值和最大值)之间,包含最小值和最大值。如果 x 介于最小值和最大值之间,则返回 TRUE。如果 x 未介于最小值和最大值之间,则返回 FALSE。
要将一个值视为介于 2 个值之间,该值必须大于或等于最小值,并且小于或等于最大值。
所有参数都必须是数值或字符串*(包括日期时间)数据类型。不支持 Blob 和空间对象。此外,所有参数都必须属于相同的数据类型类别。例如,参数必须全部为数值或全部为字符串/日期时间。
对于字符串数据类型,求值时不区分大小写。例如,“cat”与“CAT”被视为同一字符串。
*复杂的字符串比较
对于更复杂的字符串比较,例如,使用全角字符或半角字符或本地化字典的字符串,当涉及字典排序顺序时,可能会产生意外结果。
我们建议您组合性地使用 CompareDictionary 函数 或者在指定字典的情况下使用 排序工具 ,以确保获得准确的结果。例如:
CompareDictionary(minString, mystr) && CompareDictionary(mystr,maxString)
示例
BETWEEN(2, 2, 4)
返回 TRUE。
BETWEEN(4.56, 4.4, 4.5)
返回 FALSE。
BETWEEN("2022-10-31", "2021-01-01", "2021-12-31")
返回 FALSE。
BETWEEN(DateTimeAdd("13:05:23", 30, "minutes"), "12:00:00", "14:00:00")
返回 TRUE。
BETWEEN("cat", "CAT", "dog")
返回 TRUE。
NOT BETWEEN(5, 1, 10)
返回 FALSE。虽然 5 介于 1 和 10 之间,但由于 NOT 运算符,表达式的计算结果为 FALSE。
Bound
Bound(x, min, max)
:如果 (x < min),则返回 min;否则,如果 (x > max),则返回 max;否则,返回 (x)。
示例
Bound(6,1,5)
返回 5。
Bound(3,1,5)
返回 3。
Max
Max(v0, v1, ..., vn)
:返回列表中的最大值。
示例
Max(15, 180, 7, 13, 45, 2, 13)
返回 180。
MaxIDX
MaxIDX(v0, v1,..., vn)
:返回列表中最大值的索引(从 0 开始)。
示例
MaxIDX(15,180,7,13,45,2,13)
返回 1。
Min
Min(v0, v1,..., vn)
:返回列表中的最小值。
示例
Min(15, 180, 7, 13, 45, 2, 13)
返回 2。
MinIDX
MinIDX(v0, v1,..., vn)
:返回列表中最小值的索引(从 0 开始)。
示例
MinIDX(15, 180, 7, 13, 45, 2, 13)
返回 5。