饱和数学函数
工具包TimescaleDB Toolkit 函数在 Timescale 社区版下可用。它们自动包含在 Timescale 中,但对于自托管的 TimescaleDB 必须单独安装。点击了解更多。Timescale Cloud:性能、扩展、企业级
自托管产品
MST
简介
饱和数学超函数可帮助您对整数执行饱和数学运算。在饱和数学中,最终结果是有界的。如果常规数学运算的结果超出最小值或最大值边界,则相应饱和数学运算的结果将被限制在该边界内。例如,2 + (-3) = -1
。但在下限为 0
的饱和数学函数中,例如 saturating_add_pos
,结果为 0
。
您可以使用饱和数学来确保结果不会溢出整数的允许范围,或者强制结果大于或等于零。
警告
本函数组包含一些实验性函数。实验性函数在未来版本中可能会更改或删除。我们不建议在生产环境中使用它们。实验性函数标有“实验性”标签。
函数
- saturating_add
- 实验性将两个数字相加,结果在 32 位整数边界处饱和,而不是溢出
- saturating_add_pos
- 实验性将两个数字相加,结果在最小值 0 处饱和
- saturating_mul
- 实验性将两个数字相乘,结果在 32 位整数边界处饱和,而不是溢出
- saturating_sub
- 实验性一个数字减去另一个数字,结果在 32 位整数边界处饱和,而不是溢出
- saturating_sub_pos
- 实验性一个数字减去另一个数字,结果在最小值 0 处饱和
saturating_add(x INT,y INT) RETURNS INT
saturating_add
函数将两个数字相加,结果在 -2,147,483,648 和 2,147,483,647 处饱和,而不是溢出。
必填参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要加到 y 上的整数 |
y | INT | 要加到 x 上的整数 |
返回
列 | 类型 | 描述 |
---|---|---|
saturating_add | INT | x + y 的结果,在数值边界处饱和,而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_add_pos(x INT,y INT) RETURNS INT
saturating_add_pos
函数将两个数字相加,结果在 0 和 2,147,483,647 处饱和,而不是溢出。
必填参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要加到 y 上的整数 |
y | INT | 要加到 x 上的整数 |
返回
列 | 类型 | 描述 |
---|---|---|
saturating_add_pos | INT | x + y 的结果,在最小值 0 处饱和。 |
saturating_mul(x INT,y INT) RETURNS INT
saturating_mul
函数将两个数字相乘,结果在 -2,147,483,648 和 2,147,483,647 处饱和,而不是溢出。
必填参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 与 y 相乘的整数 |
y | INT | 与 x 相乘的整数 |
返回
列 | 类型 | 描述 |
---|---|---|
saturating_mul | INT | x * y 的结果,在数值边界处饱和,而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_sub(x INT,y INT) RETURNS INT
saturating_sub
函数将第一个数字减去第二个数字,结果在 -2,147,483,648 和 2,147,483,647 处饱和,而不是溢出。
必填参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要从中减去 y 的整数 |
y | INT | 要从 x 中减去的整数 |
返回
列 | 类型 | 描述 |
---|---|---|
saturating_add | INT | x - y 的结果,在数值边界处饱和,而不是溢出。数值边界是 32 位有符号整数的上限和下限。 |
saturating_sub_pos(x INT,y INT) RETURNS INT
saturating_sub_pos
将第一个数字减去第二个数字,结果在 0 和 2,147,483,647 处饱和,而不是溢出。
必填参数
名称 | 类型 | 描述 |
---|---|---|
x | INT | 要从中减去 y 的整数 |
y | INT | 要从 x 中减去的整数 |
返回
列 | 类型 | 描述 |
---|---|---|
saturating_sub_pos | INT | x - y 的结果,在最小值 0 处饱和。 |
关键词