in~ 運算子

篩選記錄集,以取得具有不區分大小寫字串的資料。

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

運算子 描述 區分大小寫 範例 (結果為 true)
in 等於其中一個元素 "abc" in ("123", "345", "abc")
!in 不等於任何元素 "bca" !in ("123", "345", "abc")
in~ 等於任何元素 "Abc" in~ ("123", "345", "abc")
!in~ 不等於任何元素 "bCa" !in~ ("123", "345", "ABC")

注意

巢狀陣列會壓平合併成單一的值清單。 例如,x in (dynamic([1,[2,3]])) 會成為 x in (1,2,3)

如需其他運算子的詳細資訊,以及如何判斷哪一個運算子最適合您的查詢,請參閱 datatype 字串運算子

目前只有 ASCII 文字支援不區分大小寫的運算子。 若為非 ASCII 比較,請使用 tolower () 函數。

效能秘訣

注意

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

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

Syntax

T|wherecolin~(表達, ... )

深入瞭解 語法慣例

參數

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

傳回

T 中的資料列,其述詞是 true

範例

純量清單

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

StormEvents 
| where State in~ ("FLORIDA", "georgia", "NEW YORK") 
| count

輸出

計數
4775

Dynamic array

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

StormEvents 
| where State in~ (dynamic(["FLORIDA", "georgia", "NEW YORK"])) 
| count

輸出

計數
4775

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

let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents 
| where State has_any (states)
| summarize count() by State

輸出

計數
4775

表格式表達式

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

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

輸出

State count_
德克薩斯州 4701
伊利諾州 2022
密蘇里州 2016
喬治亞州 1983
明尼蘇達州 1881
... ...

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

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

輸出

State count_
德克薩斯州 4701
伊利諾州 2022
密蘇里州 2016
喬治亞州 1983
明尼蘇達州 1881
... ...