hash()

Returnerar ett hash-värde för indatavärdet.

Anteckning

  • Funktionen beräknar hashvärden med xxhash64-algoritmen, men detta kan ändras. Vi rekommenderar att du bara använder den här funktionen i en enda fråga.
  • Om du behöver spara en kombinerad hash rekommenderar vi att du använder hash_sha256(), hash_sha1()eller hash_md5() och kombinerar hashvärdena med en bitvis operator. Dessa funktioner är mer komplexa att beräkna än hash().

Syntax

hash(källa [,mod])

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Källkod Skalär ✔️ Värdet som ska hashas.
Mod int Ett modulo-värde som ska tillämpas på hash-resultatet, så att utdatavärdet är mellan 0 och mod - 1. Den här parametern är användbar för att begränsa intervallet för möjliga utdatavärden eller för att komprimera utdata för hash-funktionen till ett mindre intervall.

Returer

Källans hashvärde. Om mod anges returnerar funktionen hash-värdet modulo värdet för mod, vilket innebär att utdata för funktionen blir resten av hash-värdet dividerat med mod. Utdata är ett värde mellan 0 och mod - 1, inklusive.

Exempel

Strängindata

print result=hash("World")
resultat
1846988464401551951

Strängindata med mod

print result=hash("World", 100)
resultat
51

Datetime-indata

print result=hash(datetime("2015-01-01"))
resultat
1380966698541616202

Använda hash för att kontrollera datadistribution

hash() Använd funktionen för samplingsdata om värdena i en av dess kolumner är jämnt fördelade. I följande exempel distribueras StartTime-värden jämnt och funktionen används för att köra en fråga på 10 % av data.

StormEvents 
| where hash(StartTime, 10) == 0
| summarize StormCount = count(), TypeOfStorms = dcount(EventType) by State 
| top 5 by StormCount desc