共用方式為


where 運算子

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

將數據表篩選至滿足述詞的數據列子集。

wherefilter 運算符相等

語法

T | where 述詞

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
T string ✔️ 要篩選其記錄的表格式輸入。
謂語 string ✔️ 評估為 T 中每個數據列布爾值的表達式。

傳回

述詞true的 T 數據列。

注意

與 Null 值比較時,所有篩選函式都會傳回 false。 使用特殊的 Null 感知函式來撰寫處理 Null 值的查詢。

效能祕訣

  • 使用數據行名稱和常數之間的簡單比較 。 ('Constant' 表示數據表上的常數 - 因此 now() ago() 和 是OK,而且是使用語句指派的let純量值。

    例如,偏好 where Timestamp >= ago(1d) 使用 where bin(Timestamp, 1d) == ago(1d)

  • 第一個最簡單的詞彙:如果您有多個子句與 and連在一起,請先放置只包含一個數據行的子句。 所以 Timestamp > ago(1d) and OpId == EventId 比另一種方式更好。

如需詳細資訊,請參閱可用字串運算符摘要和可用數值運算符摘要。

範例

依複雜度排序比較

下列查詢會傳回暴風雨記錄,這些記錄報告受損的屬性、是洪水,並在不同地方開始和結束。

請注意,我們會將兩個數據行之間的比較放在最後,因為 where 運算符無法使用索引並強制掃描。

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

下表只顯示前10個結果。 若要查看完整的輸出,請執行查詢。

DamageProperty EventType BeginLocation EndLocation
5000 洪水 費耶特市 LOWBER
5000 洪水 莫里斯維爾西韋恩斯堡
10000 洪水 科普蘭哈裡斯格羅夫
5000 洪水 葛籣福德山佩里
25000 洪水 東塞內卡布法羅機場ARPT
20000 洪水 EBENEZER SLOAN
10000 洪水 BUEL CALHOUN
10000 洪水 古德霍普西米爾福德
5000 洪水 敦克爾克森林
20000 洪水 法明頓·曼寧頓

檢查資料列是否包含字串

下列查詢會傳回任何數據行中出現 「cow」 一字的數據列。

StormEvents
| where * has "cow"