GitHub GitHub' da katkıda bulun: Çevrimiçi düzenle

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.

  • string veri 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ğerin bool(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ıyla bool(false) ya da bool(true)olur.
  • Mantıksal AND (&) için işleç, değerlerden biri bool(false)ise, sonuç da bool(false)olur.
  • Mantıksal OR (||) işleci için, değerlerden biri bool(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.