Использование eval и функций
Команда eval
служит для переопределения значений в полях. Может использовать математические операции, конкатенацию строк, выражения сравн ения, булевские выражения, функции.
eval
оперирует со следующими базовыми типами данных:
String
Numeric
Booleans
Null
Выражение eval
требует, чтобы значения полей соответствовали типу операции и в результирующем значении стремится сохранить исходный тип данных. Например, за исключением сложения, арифметические операции могу не давать действительных результатов, если значения не являются числовыми. Когда выполняется конкатенации значений с точкой (.), команда eval
определяет оба значения как String
, независимо от их фактического типа.
Одна из ключевых возможностей команды eval
– это работа с условными операциями.
В конструкциях if
и case
в теле условия можно использовать функции сравнения ( in
, like
, isnull
, isnotnull
и др.) и простые логические выражения.
Конкатенация строк
Запрос создаст новое поле destination.geo.location
по шаблону "destination.geo.city_name/destination.geo.continent_name
".
source sm_cs_threat_indexes
| eval destination.geo.location=destination.geo.continent_name + "/" + destination.geo.city_name
| table destination.geo.location, destination.geo.continent_name, destination.geo.city_name