共用方式為


!in~ 運算子

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

篩選沒有不區分大小寫字串之數據的記錄集。

下表提供運算子的 in 比較:

Operator 描述 區分大小寫 範例 (yields true
in 等於其中一個專案 Yes "abc" in ("123", "345", "abc")
!in 不等於任何專案 Yes "bca" !in ("123", "345", "abc")
in~ 等於任何專案 No "Abc" in~ ("123", "345", "abc")
!in~ 不等於任何專案 No "bCa" !in~ ("123", "345", "ABC")

注意

巢狀陣會扁平化成單一值清單。 例如,x in (dynamic([1,[2,3]])) 會成為 x in (1,2,3)

如需其他運算符的詳細資訊,以及判斷哪一個運算元最適合您的查詢,請參閱 數據類型字串運算元

目前僅支援 ASCII 文字的不區分大小寫運算符。 針對非 ASCII 比較,請使用 tolower() 函式。

效能祕訣

注意

效能取決於搜尋類型和數據結構。 如需最佳做法,請參閱 查詢最佳做法

可能的話,請使用區分大小寫 的 !in

語法

T | where col!in~ (表達式 ...,)

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
T string ✔️ 要篩選的表格式輸入。
col string ✔️ 要篩選的數據行。
expression 純量或表格式 ✔️ 表達式,指定要搜尋的值。 每個運算式可以是 純量 值或 產生一組值的表格式表達式 。 如果表格式表達式有多個數據行,則會使用第一個數據行。 搜尋最多會考慮 1,000,000 個相異值。

傳回

述詞為 true的 T 數據列。

範例

純量清單

下列查詢示範如何搭配以逗號分隔的純量值清單使用 !in~

StormEvents 
| where State !in~ ("Florida", "Georgia", "New York") 
| count

輸出

計數
54,291

動態陣列

下列查詢示範如何搭配動態陣列使用 !in~

StormEvents 
| where State !in~ (dynamic(["Florida", "Georgia", "New York"])) 
| count

輸出

計數
54291

您也可以使用 let 語句來撰寫相同的查詢。

let states = dynamic(["Florida", "Georgia", "New York"]);
StormEvents 
| where State !in~ (states)
| summarize count() by State

輸出

計數
54291

表格式表達式

下列查詢示範如何搭配內嵌表格式表達式使用 !in~ 。 請注意,內嵌表格式表達式必須以雙括弧括住。

StormEvents 
| where State !in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State

輸出

州/省 計數_
堪薩斯州 3166
愛荷華州 2337
內布拉斯加州 1766
奧克拉荷馬州 1,716
南達科他州 1567
... ...

您也可以使用 let 語句來撰寫相同的查詢。 請注意,本例中不需要上一個範例中提供的雙括弧。

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State !in~ (large_states)
| summarize count() by State

輸出

州/省 計數_
堪薩斯州 3166
愛荷華州 2337
內布拉斯加州 1766
奧克拉荷馬州 1,716
南達科他州 1567
... ...