數值運算子
類型 int
、long
和 real
代表數值類型。
下列運算子可用於這些類型的配對:
運算子 | 描述 | 範例 |
---|---|---|
+ |
新增 | 3.14 + 3.14 , ago(5m) + 5m |
- |
減去 | 0.23 - 0.22 , |
* |
乘以 | 1s * 5 , 2 * 2 |
/ |
除以 | 10m / 1s , 4 / 2 |
% |
模數 | 4 % 2 |
< |
小於 | 1 < 10 , 10sec < 1h , now() < datetime(2100-01-01) |
> |
大於 | 0.23 > 0.22 , 10min > 1sec , now() > ago(1d) |
== |
Equals | 1 == 1 |
!= |
不等於 | 1 != 0 |
<= |
小於或等於 | 4 <= 5 |
>= |
大於或等於 | 5 >= 4 |
in |
等於其中一個元素 | 請參閱這裡 |
!in |
不等於任何元素 | 請參閱這裡 |
算術運算的類型規則
算術運算結果的數據類型取決於操作數的數據類型。 如果其中一個操作數的類型為 real
,則結果會是 型別 real
。 如果這兩個操作數都是整數類型 (int
或 long
) ,結果將會是 類型 long
。
由於這些規則,只有涉及整數的除法運算結果會截斷為整數,這不一定是您想要的結果。 若要避免截斷,請在執行作業之前,先將至少一個整數值 real
轉換為使用 todouble () 。
下列範例說明操作數類型如何影響除法運算的結果類型。
作業 | 結果 | 描述 |
---|---|---|
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() 式。 |
關於模數運算子的批注
兩個數字的模數一律會在 Kusto 中傳回「小的非負數」。 因此,兩個數字 N % D 的模數如下所示:0 ≤ (N % D) < abs(D)。
例如,下列查詢:
print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12
產生此結果:
plusPlus | minusPlus | plusMinus | minusMinus |
---|---|---|---|
2 | 10 | 2 | 10 |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應