使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息。
适用于: ✅ Azure 数据资源管理器 ✅ Azure Monitor ✅ Microsoft Sentinel
类型 int, long并 real 表示数值类型。
可以在这些类型的对之间使用以下运算符:
| Operator | Description | Example |
|---|---|---|
+ |
添加 |
3.14 + 3.14、ago(5m) + 5m |
- |
减法 |
0.23 - 0.22, |
* |
乘法 |
1s * 5、2 * 2 |
/ |
除法 |
10m / 1s、4 / 2 |
% |
模 | 4 % 2 |
< |
Less |
1 < 10、10sec < 1h、now() < datetime(2100-01-01) |
> |
大 |
0.23 > 0.22、10min > 1sec、now() > ago(1d) |
== |
等于 | 1 == 1 |
!= |
不等于 | 1 != 0 |
<= |
小于或等于 | 4 <= 5 |
>= |
大于或等于 | 5 >= 4 |
in |
等于其中一个元素 | 请参阅此处 |
!in |
不等于任何元素 | 请参阅此处 |
算术运算的类型规则
算术运算结果的数据类型由作数的数据类型决定。 如果其中一个作数的类型 real,则结果将为类型 real。 如果两个作数都是整数类型(int 或 long),则结果将为类型 long。
由于这些规则,仅涉及整数的除法运算的结果将被截断为整数,这可能并不总是你想要的。 若要避免截断,请在执行作之前将至少一个整数值real转换为使用 todouble()。
以下示例说明了作数类型如何影响除法运算中的结果类型。
| 操作 | 结果 | Description |
|---|---|---|
1.0
/
2
|
0.5 |
其中一个作数的类型 real,因此结果是 real。 |
1
/
2.0
|
0.5 |
其中一个作数的类型 real,因此结果是 real。 |
1
/
2
|
0 |
这两个作数都是类型 int,因此结果是 int。 整数除法发生,小数被截断,因此 0 , 0.5如预期所示。 |
real(1)
/
2
|
0.5 |
为了避免由于整数除法而截断,首先将其中一个 int 作数转换为 real 使用 real() 函数。 |
有关 modulo 运算符的注释
两个数字的模数始终在 Kusto 中返回一个“小非负数”。 因此,两个数字 N % D 的模数就是这样:0 ≤ (N % D) abs(<)。
例如,以下查询:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
生成以下结果:
| plusPlus | minusPlus | plusMinus | minusMinus |
|---|---|---|---|
| 2 | 10 | 2 | 10 |