Skip to main content

最小值/最大值函数

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。