Megosztás a következőn keresztül:


Numerikus operátorok

A , longés real típus intnumerikus típusokat jelöl. Az alábbi operátorok használhatók az ilyen típusú párok között:

Operátor Leírás Példa
+ Hozzáadás 3.14 + 3.14, ago(5m) + 5m
- Kivonás 0.23 - 0.22,
* Szorzás 1s * 5, 2 * 2
/ Osztás 10m / 1s, 4 / 2
% Moduló 4 % 2
< Less 1 < 10, 10sec < 1h, now() < datetime(2100-01-01)
> Nagyobb 0.23 > 0.22, 10min > 1sec, now() > ago(1d)
== Egyenlő 1 == 1
!= Nem egyenlő 1 != 0
<= Kisebb vagy egyenlő 4 <= 5
>= Nagyobb vagy egyenlő 5 >= 4
in Egyenlő az elemek egyikével lásd itt
!in Nem egyenlő egyetlen elemével sem lásd itt

Megjegyzés

Az egyik numerikus típusról egy másikra való konvertáláshoz használjon to*() függvényeket. Lásd például: tolong() vagy toint().

Típusszabályok aritmetikai műveletekhez

Az aritmetikai művelet eredményének adattípusát az operandusok adattípusai határozzák meg. Ha az operandusok egyikének típusa real, az eredmény típusa real. Ha mindkét operandus egész típusú (int vagy long), az eredmény típusa long.

Ezen szabályok miatt a csak egész számokat tartalmazó osztási műveletek eredménye egész számra lesz csonkulva, ami nem mindig a kívánt érték. A csonkolás elkerülése érdekében a művelet végrehajtása előtt alakítsa át az egész számértékek real legalább egyikét a todouble() értékre.

Az alábbi példák bemutatják, hogy az operandustípusok hogyan befolyásolják az osztási műveletek eredménytípusát.

Művelet Eredmény Description
1.0 / 2 0.5 Az operandusok egyike típusreal, ezért az eredmény .real
1 / 2.0 0.5 Az operandusok egyike típusreal, ezért az eredmény .real
1 / 2 0 Mindkét operandus típusa int, ezért az eredmény .int Az egész szám osztása történik, és a decimális csonkul, ami 0 a helyett 0.5a -t eredményezi, ahogy az várható.
real(1) / 2 0.5 Az egész szám osztás miatti csonkolás elkerülése érdekében az egyik operandus először a intreal() függvény használatára lett konvertálvareal.

Megjegyzés a modulo operátorról

Két szám moduloja mindig egy "kis nem negatív szám" értéket ad vissza a Kusto-ban. Így a modulo két szám, N % D, olyan, hogy: 0 ≤ (N % D) < abs(D).

Például a következő lekérdezés:

print plusPlus = 14 % 12, minusPlus = -14 % 12, plusMinus = 14 % -12, minusMinus = -14 % -12

Ezt az eredményt hozza létre:

plusPlus minusPlus plusMinus mínuszMinus
2 10 2 10