Operador where
Se aplica a: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtra una tabla para el subconjunto de filas que cumplen un predicado.
Los
where
operadores yfilter
son equivalentes
Sintaxis
T | where
Predicate
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
T | string |
✔️ | Entrada tabular cuyos registros se van a filtrar. |
Predicado | string |
✔️ | Expresión que se evalúa como una bool para cada fila de T. |
Devoluciones
Las filas de T en las que Predicate es true
.
Nota:
Todas las funciones de filtrado devuelven false cuando se comparan con valores NULL. Use funciones especiales compatibles con valores NULL para escribir consultas que controle valores NULL.
Consejos de rendimiento
Use comparaciones simples entre los nombres de columna y las constantes. ("Constant" significa constante de la tabla, por lo que
now()
yago()
son correctos, y también lo son los valores escalares asignados mediante una cláusulalet
).Por ejemplo, se prefiere
where Timestamp >= ago(1d)
awhere bin(Timestamp, 1d) == ago(1d)
.Primero los términos más simples: si tiene varias cláusulas unidas con
and
, coloque primero las cláusulas que impliquen una sola columna. Así pues, es mejor usarTimestamp > ago(1d) and OpId == EventId
que al revés.
Para obtener más información, consulte el resumen de operadores de cadena disponibles y el resumen de operadores numéricos disponibles.
Ejemplos
Comparaciones de pedidos por complejidad
La consulta siguiente devuelve registros de tormenta que notifican la propiedad dañada, son inundaciones y comienzan y terminan en diferentes lugares.
Observe que colocamos la comparación entre dos columnas por última vez, ya que el operador where no puede usar el índice y fuerza un examen.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
En la tabla siguiente solo se muestran los 10 resultados principales. Para ver la salida completa, ejecute la consulta.
DamageProperty | EventType | BeginLocation | EndLocation |
---|---|---|---|
5000 | Inundación | FAYETTE CITY LOWBER | |
5000 | Inundación | MORRISVILLE WEST WAYNESBURG | |
10 000 | Inundación | COPELAND HARRIS GROVE | |
5000 | Inundación | GLENFORD MT PERRY | |
25000 | Inundación | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Inundación | EBENEZER SLOAN | |
10 000 | Inundación | BUEL CALHOUN | |
10 000 | Inundación | GOODHOPE WEST MILFORD | |
5000 | Inundación | BOSQUE DUNKIRK | |
20000 | Inundación | FARMINGTON MANNINGTON |
Comprobación de si la columna contiene una cadena
La consulta siguiente devuelve las filas en las que aparece la palabra "cow" en cualquier columna.
StormEvents
| where * has "cow"