共用方式為


hash()

適用於:✅Microsoft網狀架構Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel

傳回輸入值的哈希值。

注意

  • 函式會使用xxhash64演算法來計算哈希,但這可能會變更。 建議只在單一查詢內使用此函式。
  • 如果您需要保存合併的哈希,建議您使用 hash_sha256()hash_sha1()hash_md5() ,並將哈希與 位運算符結合。 這些函式比 計算 hash()更為複雜。

語法

hash(source [, mod])

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
source 純量 ✔️ 要哈希的值。
mod int 要套用至哈希結果的模數值,讓輸出值介於和 mod - 1之間0。 此參數適用於限制可能輸出值的範圍,或將哈希函式的輸出壓縮成較小的範圍。

傳回

來源哈希值。 如果指定mod,函式會傳回mod值的哈希值模數,這表示函式的輸出會是除以mod的哈希值其餘部分。 輸出將會是和mod - 1之間的0值, 內含。

範例

字串輸入

print result=hash("World")
result
1846988464401551951

具有mod的字串輸入

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

日期時間輸入

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

使用哈希來檢查數據散發

如果其中一個數據行中的值統一分散,請使用 函 hash() 式來取樣數據。 在下列範例中, StartTime 值會統一散發,而且函式會用來對 10% 的數據執行查詢。

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