Boş Değerler
Kusto 'daki tüm sayıl veri tiplerinin değeri eksik bir değeri temsil eden özel bir değeri vardır. Bu değere boş değerya da boş değerdenir.
stringveri tipi boş değerleri desteklemez.
Boş değerli hazır bilgiler
T sayıl tipinin boş değeri, sorgu dilinde T(null)boş değerli hazır bilgilerle gösterilir. Aşağıdaki sorgu boş değerlerle dolu tek bir satır döndürür:
print bool(null), datetime(null), dynamic(null), guid(null), int(null), long(null), real(null), double(null), time(null)
Boş değerlerle ilgili karşılaştırma belirtimleri
Sayıl değerin boş değer olup olmadığını saptamak için isnull() sayıl işlevi kullanılabilir. İlgili işlev isnotnull() , sayıl değerin boş değer olup olmadığını saptamak için kullanılabilir.
string tipi boş değerleri desteklemediğinden, isempty() ve isnotempty() işlevlerini kullanmanız önerilir.
Boş değerlerin eşitliği ve eşitsizliği
- Eşitlik (
==): Eşitlik işlecinin iki boş değere uygulanmasıbool(null)sonucunu verir. Eşitlik işlecinin boş değere uygulanması ve boş olmayan bir değerin uygulanmasıbool(false)sonucunu verir. - Eşitsizlik (
!=): Eşitsizlik işlecinin iki boş değere uygulanmasıbool(null)sonucunu verir. Eşitsizlik işlecinin boş değere uygulanması ve boş olmayan bir değerinbool(true)sonucunu verir.
Örneğin:
datatable(val:int)[5, int(null)]
| extend IsBiggerThan3 = val > 3
| extend IsBiggerThan3OrNull = val > 3 or isnull(val)
| extend IsEqualToNull = val == int(null)
| extend IsNotEqualToNull = val != int(null)
Sonuçlar
| val | IsBiggerThan3 | IsBiggerThan3OrNull | IsEqualToNull | IsNotEqualToBoş Değerli |
|---|---|---|---|---|
| 5 | doğru | doğru | yanlış | doğru |
| null | null | doğru | null | null |
Boş değerler ve where sorgu işleci
where işleci , her giriş kaydının çıkışa yayılıp yayılmayacağını saptamak için Boole ifadelerini kullanır. Bu işleç boş değerleri bool(false)gibi işler. Karşılaştırma belirtiminin boş değer döndürdüğü kayıtlar atılır ve çıkışta görüntülenmez.
Örneğin:
datatable(ival:int, sval:string)[5, "a", int(null), "b"]
| where ival != 5
Sonuçlar
| ival | sval |
|---|---|
| null | b |
İkili işleçler ve boş değerler
İkili işleçler, iki sayıl değeri kabul eden ve üçüncü bir değer üreten sayıl işleçlerdir. Örneğin, büyüktür (>) ve Boole AND (&) ikili işleçlerdir.
Aşağıdabelirtilenler dışında tüm ikili işleçler için kural şöyledir:
İkili işlece girilen değerlerden biri ya da her ikisi boş değerse, ikili işlecin çıkışı da boş değer olur. Başka bir deyişle, boş değer "yapışkan" dır.
Bu kural için kural dışı durumlar
- Eşitlik (
==) ve eşitsizlik (!=) işleçleri için, değerlerden biri boş değerse ve diğer değer boş değilse, sonuç sırasıylabool(false)ya dabool(true)olur. - Mantıksal AND (&) için işleç, değerlerden biri
bool(false)ise, sonuç dabool(false)olur. - Mantıksal OR (
||) işleci için, değerlerden biribool(true)ise, sonuçbool(true)olur.
Örnek
datatable(val:int)[5, int(null)]
| extend Add = val + 10
| extend Multiply = val * 10
Sonuçlar
| val | Ekle | Çarpma |
|---|---|---|
| 5 | 15.000 | 50 |
| null | null | null |
Boş değerler ve in işleci
- in işleci , eşitlik karşılaştırmalarında mantıksal OR işleci gibi davranır.
- IşSanİşlardaki o ile eşitsizlik karşılaştırması mantıksal AND işlecine benzer.