数値演算子
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) |
== |
等しい | 1 == 1 |
!= |
等しくない | 1 != 0 |
<= |
以下 | 4 <= 5 |
>= |
以上 | 5 >= 4 |
in |
要素のいずれかに等しい | こちらを参照してください |
!in |
要素のいずれとも等しくない | こちらを参照してください |
算術演算の型規則
算術演算の結果のデータ型は、オペランドのデータ型によって決まります。 オペランドの 1 つが 型 real
の場合、結果は 型 real
になります。 両方のオペランドが整数型 (int
または long
) の場合、結果は 型 long
になります。
これらの規則により、整数のみを含む除算操作の結果は整数に切り捨てられます。これは、常に目的とは限らない場合があります。 切り捨てを回避するには、演算を実行する前に real
、少なくとも 1 つの整数値 を todouble() を使用して に変換します。
次の例は、オペランド型が除算演算の結果の型にどのように影響するかを示しています。
操作 | 結果 | 説明 |
---|---|---|
1.0 / 2 |
0.5 |
オペランドの 1 つが 型 real であるため、結果は になります real 。 |
1 / 2.0 |
0.5 |
オペランドの 1 つが 型 real であるため、結果は になります real 。 |
1 / 2 |
0 |
オペランドの両方が 型 int であるため、結果は になります int 。 整数除算が行われ、10 進数が切り捨てられ、0 0.5 期待どおりに ではなく になります。 |
real(1) / 2 |
0.5 |
整数除算による切り捨てを回避するために、オペランドの 1 つが最初に int 関数を使用して real() にreal 変換されました。 |
剰余演算子に関するコメント
2 つの数値の剰余によって、Kusto で常に "小さい負以外の数値" が返されます。 したがって、2 つの数値の剰余 (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 の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示