Null değerler

Şunlar için geçerlidir: ✅Microsoft Fabric✅Azure Veri Gezgini Azure İzleyiciMicrosoft Sentinel

Kusto'daki tüm skaler veri türleri, eksik bir değeri temsil eden özel bir değere sahiptir. Bu değer null veya null olarak adlandırılır.

Not

Veri string türü null değerleri desteklemez.

Null değişmez değerler

T türündeki bir skaler değeri, sorgu dilinde null değişmez değeriyle T(null)temsil edilir.

Aşağıdaki sorgu null 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), timespan(null)

Null değerlerle ilgili koşul

Skaler işlevi isnull() , skaler değerin null değer olup olmadığını belirlemek için kullanılabilir. Karşılık gelen işlev isnotnull() , skaler değerin null değer olup olmadığını belirlemek için kullanılabilir.

Not

string Türü null değerleri desteklemediğinden ve isnotempty() işlevlerini kullanmanızı isempty() öneririz.

Null değerlerin eşitliği ve eşitsizliği

  • Eşitlik (==): eşitlik işlecini iki null değere uygulamak sonucunu verir bool(null). Eşitlik işlecini null bir değere ve null olmayan bir değere uygulamak döndürür bool(false).
  • Eşitsizlik (!=): Eşitsizlik işlecinin iki null değere uygulanması sonucunu verir bool(null). Eşitsizlik işlecini null bir değere ve null olmayan bir değere uygulamak döndürür bool(true).

Ö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)

Çıktı

Val IsBiggerThan3 IsBiggerThan3OrNull IsEqualToNull IsNotEqualToNull
5 true true yanlış true
null null true null null

Null değerler ve toplama işlevleri

Null değerler içeren varlıklara aşağıdaki işleçler uygulanırken, null değerler yoksayılır ve hesaplamayı hesaba katmaz:

Null değerler ve where işleç

where işleci, her giriş kaydının çıkışa yayılıp yayılmadığını belirlemek için Boole ifadelerini kullanır. Bu işleç null değerleri olduğu bool(false)gibi değerlendirir. Koşulun null değeri döndürdüğü kayıtlar bırakılır ve çıkışta görünmez.

Örneğin:

datatable(ival:int, sval:string)[5, "a", int(null), "b"]
| where ival != 5

Çıktı

ival sval
boş b

Null değerler ve ikili işleçler

İkili işleçler, iki skaler değeri kabul eden ve üçüncü bir değer üreten skaler işleçlerdir. Örneğin, büyüktür (>) ve Boole AND (&) ikili işleçlerdir.

Bu kuralın özel durumları bölümünde belirtilenler dışında tüm ikili işleçler için kural aşağıdaki gibidir:

İkili işleç için giriş yapılan değerlerden biri veya her ikisi de null değerlerse, ikili işlecin çıkışı da null değerdir. Başka bir deyişle, null değer "yapışkan" olur.

Bu kuralın özel durumları

  • Eşitlik (==) ve eşitsizlik (!=) işleçleri için değerlerden biri null, diğer değer null değilse sonuç sırasıyla veya bool(true)olurbool(false).
  • Mantıksal AND (&) işleci için değerlerden biri ise bool(false)sonuç da bool(false)olur.
  • Mantıksal OR (||) işleci için değerlerden biri ise bool(true)sonuç da bool(true)olur.

Örneğin:

datatable(val:int)[5, int(null)]
| extend Add = val + 10
| extend Multiply = val * 10

Çıktı

Val Ekle Çarpma
5 15 50
null null null

Null değerler ve mantıksal NOT (!) işleci

Bağımsız değişken null değersebool(null), mantıksal NOT işleci not() değeri verir.

Null değerler ve in işleç

  • in işleci , mantıksal veya eşitlik karşılaştırmaları gibi davranır.
  • !in işleci, eşitsizlik karşılaştırmalarının mantıksal AND bir örneği gibi davranır.

Null değerler ve veri alımı

Çoğu veri türü için, veri kaynağındaki eksik bir değer, karşılık gelen tablo hücresinde null değer üretir. Ancak, tür string ve CSV (veya CSV benzeri) veri biçimlerinden oluşan sütunlar bu kural için özel durum oluşturur ve eksik bir değer boş bir dize oluşturur.

Örneğin:

.create table T(a:string, b:int)

.ingest inline into table T
[,]
[ , ]
[a,1]

T
| project a, b, isnull_a=isnull(a), isempty_a=isempty(a), stlen_a=strlen(a), isnull_b=isnull(b)

Çıktı

a b isnull_a isempty_a strlen_a isnull_b
    yanlış true 0 true
    yanlış yanlış 1 true
a 1 yanlış yanlış 1 yanlış

Not

  • Yukarıdaki sorguyu Kusto.Explorer'da çalıştırırsanız, tüm true değerler olarak 1görüntülenir ve tüm false değerler olarak 0görüntülenir.
  • Kusto, tablo sütununu null değerlere sahip olmaktan kısıtlamak için bir yol sunmaz. Başka bir deyişle, SQL kısıtlamasının eşdeğeri NOT NULL yoktur.

Not

Kusto, tablo sütununu null değerlere sahip olmaktan kısıtlamak için bir yol sunmaz. Başka bir deyişle, SQL kısıtlamasının eşdeğeri NOT NULL yoktur.