﻿---
title: ES|QL functions and operators
description: ES|QL provides a comprehensive set of functions and operators for working with data. The reference documentation is divided into the following categories:...
url: https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/esql-functions-operators
products:
  - Elasticsearch
applies_to:
  - Elastic Cloud Serverless: Generally available
  - Elastic Stack: Generally available
---

# ES|QL functions and operators
ES|QL provides a comprehensive set of functions and operators for working with data. The reference documentation is divided into the following categories:

## Functions overview


### Aggregate functions

<dropdown title="Aggregate function list">
  - [`ABSENT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/absent) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Returns true if the input expression yields no non-null values.
  - [`AVG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/avg)
    Returns the average of a numeric field.
  - [`COUNT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/count)
    Returns the total number of input values.
  - [`COUNT_DISTINCT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/count_distinct)
    Returns the approximate number of distinct values.
  - [`EARLIEST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/earliest) <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Returns the earliest value of a field sorted by timestamp.
  - [`FIRST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/first) <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Returns the earliest occurrence of a field based on a sort field.
  - [`LAST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/last) <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Returns the latest occurrence of a field based on a sort field.
  - [`LATEST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/latest) <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Returns the latest value of a field sorted by timestamp.
  - [`MAX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/max)
    Returns the maximum value of a field.
  - [`MEDIAN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/median)
    Returns the median value of a numeric field.
  - [`MEDIAN_ABSOLUTE_DEVIATION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/median_absolute_deviation)
    Returns the median absolute deviation, a robust measure of variability.
  - [`MIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/min)
    Returns the minimum value of a field.
  - [`PERCENTILE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/percentile)
    Returns the value at which a certain percentage of observed values occur.
  - [`PRESENT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/present) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Returns true if the input expression yields any non-null values.
  - [`SAMPLE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/sample) <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Collects sample values for a field.
  - [`SPARKLINE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/sparkline) <applies-to>Elastic Stack: Planned</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Computes y-axis values of a sparkline graph for an aggregation over time.
  - [`ST_CENTROID_AGG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/st_centroid_agg) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates the spatial centroid over a field with geometry type.
  - [`ST_EXTENT_AGG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/st_extent_agg) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates the spatial extent bounding box over a field with geometry type.
  - [`STD_DEV`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/std_dev)
    Returns the population standard deviation of a numeric field.
  - [`SUM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/sum)
    Returns the sum of a numeric expression.
  - [`TOP`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/top)
    Collects the top values for a field, including repeated values.
  - [`VALUES`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/values) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Returns unique deduplicated values as a multivalued field.
  - [`VARIANCE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/variance)
    Returns the population variance of a numeric field.
  - [`WEIGHTED_AVG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/aggregation-functions/weighted_avg)
    Returns the weighted average of a numeric expression.
</dropdown>


### Time-series aggregate functions

<dropdown title="Time-series aggregate function list">
  - [`ABSENT_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/absent_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the absence of a field over a time range.
  - [`AVG_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/avg_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the average over time of a numeric field.
  - [`COUNT_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/count_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the count over time value of a field.
  - [`COUNT_DISTINCT_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/count_distinct_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the count of distinct values over time for a field.
  - [`DELTA`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/delta) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the absolute change of a gauge field in a time window.
  - [`DERIV`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/deriv) <applies-to>Elastic Stack: Preview since 9.3</applies-to>
    Calculates the derivative over time of a numeric field using linear regression.
  - [`FIRST_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/first_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the earliest value of a field over a time window.
  - [`IDELTA`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/idelta) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the absolute change between the last two data points of a gauge.
  - [`INCREASE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/increase) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the absolute increase of a counter field in a time window.
  - [`IRATE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/irate) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the per-second rate of increase between the last two data points.
  - [`LAST_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/last_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the latest value of a field over a time window.
  - [`MAX_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/max_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the maximum value of a field over a time window.
  - [`MIN_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/min_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the minimum value of a field over a time window.
  - [`PERCENTILE_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/percentile_over_time) <applies-to>Elastic Stack: Preview since 9.3</applies-to>
    Calculates the percentile over time of a field.
  - [`PRESENT_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/present_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the presence of a field over a time range.
  - [`RATE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/rate) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the per-second average rate of increase of a counter.
  - [`STDDEV_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/stddev_over_time) <applies-to>Elastic Stack: Preview since 9.3</applies-to>
    Calculates the population standard deviation over time of a numeric field.
  - [`SUM_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/sum_over_time) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the sum over time value of a field.
  - [`VARIANCE_OVER_TIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/time-series-aggregation-functions/variance_over_time) <applies-to>Elastic Stack: Preview since 9.3</applies-to>
    Calculates the population variance over time of a numeric field.
</dropdown>


### Grouping functions

<dropdown title="Grouping function list">
  - [`BUCKET`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/grouping-functions/bucket)
    Creates groups of values (buckets) from a datetime or numeric input.
  - [`CATEGORIZE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/grouping-functions/categorize) <applies-to>Elastic Stack: Preview since 9.0</applies-to> <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Groups text messages into categories of similarly formatted text values.
  - [`TBUCKET`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/grouping-functions/tbucket) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Creates timestamp-based buckets aligned to calendar boundaries.
  - [`WITHOUT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/grouping-functions/without) <applies-to>Elastic Stack: Generally available since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Generally available</applies-to>
</dropdown>


### Conditional functions and expressions

<dropdown title="Conditional function and expression list">
  - [`CASE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/case)
    Returns the value for the first condition that evaluates to true.
  - [`COALESCE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/coalesce)
    Returns the first of its arguments that is not null.
  - [`GREATEST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/greatest)
    Returns the maximum value from multiple columns.
  - [`LEAST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/least)
    Returns the minimum value from multiple columns.
  - [`CLAMP`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/clamp) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Clamps values to a specified minimum and maximum range.
  - [`CLAMP_MIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/clamp_min) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Clamps input values to a lower bound, raising any value below min to min.
  - [`CLAMP_MAX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/conditional-functions-and-expressions/clamp_max) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Clamps input values to an upper bound, reducing any value above max to max.
</dropdown>


### Date and time functions

<dropdown title="Date and time function list">
  - [`DATE_DIFF`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/date_diff)
    Returns the difference between two timestamps in the specified unit.
  - [`DATE_EXTRACT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/date_extract)
    Extracts parts of a date, like year, month, day, hour.
  - [`DATE_FORMAT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/date_format)
    Returns a string representation of a date, in the provided format.
  - [`DATE_PARSE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/date_parse)
    Parses a string into a date using the specified format.
  - [`DATE_TRUNC`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/date_trunc)
    Rounds down a date to the closest interval.
  - [`DAY_NAME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/day_name) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Returns the name of the weekday for a date.
  - [`MONTH_NAME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/month_name) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Returns the month name for a date.
  - [`NOW`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/now)
    Returns current date and time.

  - [`TRANGE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/date-time-functions/trange) <applies-to>Elastic Stack: Generally available since 9.3</applies-to>
    Filters data for a given time range using the @timestamp attribute.
</dropdown>


### IP functions

<dropdown title="IP function list">
  - [`CIDR_MATCH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/ip-functions/cidr_match)
    Returns true if the provided IP is contained in one of the provided CIDR blocks.
  - [`IP_PREFIX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/ip-functions/ip_prefix)
    Truncates an IP to a given prefix length.
</dropdown>


### Math functions

<dropdown title="Math function list">
  - [`ABS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/abs)
    Returns the absolute value of a number.
  - [`ACOS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/acos)
    Returns the arccosine of a number.
  - [`ACOSH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/acosh)
    Returns the inverse hyperbolic cosine of a number.
  - [`ASIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/asin)
    Returns the arcsine of a number.
  - [`ASINH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/asinh)
    Returns the inverse hyperbolic sine of a number.
  - [`ATAN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/atan)
    Returns the arctangent of a number.
  - [`ATAN2`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/atan2)
    Returns the two-argument arctangent of y and x coordinates.
  - [`ATANH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/atanh)
    Returns the inverse hyperbolic tangent of a number.
  - [`CBRT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/cbrt)
    Returns the cube root of a number.
  - [`CEIL`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/ceil)
    Rounds a number up to the nearest integer.
  - [`COPY_SIGN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/copy_sign) <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Combines the magnitude of one number with the sign of another.
  - [`COS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/cos)
    Returns the cosine of an angle.
  - [`COSH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/cosh)
    Returns the hyperbolic cosine of a number.
  - [`E`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/e)
    Returns the mathematical constant e.
  - [`EXP`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/exp)
    Returns the value of e raised to the power of the given number.
  - [`FLOOR`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/floor)
    Rounds a number down to the nearest integer.
  - [`HYPOT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/hypot)
    Returns the hypotenuse of two numbers.
  - [`LOG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/log)
    Returns the logarithm of a value to a base.
  - [`LOG10`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/log10)
    Returns the base-10 logarithm of a number.
  - [`PI`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/pi)
    Returns the mathematical constant pi.
  - [`POW`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/pow)
    Returns a value raised to the power of an exponent.
  - [`ROUND`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/round)
    Rounds a number to the specified number of decimal places.
  - [`ROUND_TO`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/round_to) <applies-to>Elastic Stack: Preview since 9.1</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Rounds down to one of a list of fixed points.
  - [`SCALB`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/scalb) <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Returns the result of multiplying a number by 2 raised to a scale factor.
  - [`SIGNUM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/signum)
    Returns the sign of the given number.
  - [`SIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/sin)
    Returns the sine of an angle.
  - [`SINH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/sinh)
    Returns the hyperbolic sine of a number.
  - [`SQRT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/sqrt)
    Returns the square root of a number.
  - [`TAN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/tan)
    Returns the tangent of an angle.
  - [`TANH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/tanh)
    Returns the hyperbolic tangent of a number.
  - [`TAU`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/math-functions/tau)
    Returns the mathematical constant tau.
</dropdown>


### Search functions

<dropdown title="Search function list">
  - [`DECAY`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/decay) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates a relevance score that decays with distance from a target origin.
  - [`KQL`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/kql) <applies-to>Elastic Stack: Preview since 9.0</applies-to> <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Performs a KQL query and returns true if it matches the row.
  - [`MATCH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/match) <applies-to>Elastic Stack: Preview since 9.0</applies-to> <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Performs a match query on the specified field.
  - [`MATCH_PHRASE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/match_phrase) <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Performs a match_phrase query on the specified field.
  - [`QSTR`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/qstr) <applies-to>Elastic Stack: Preview since 9.0</applies-to> <applies-to>Elastic Stack: Generally available since 9.1</applies-to>
    Performs a query string query and returns true if it matches the row.
  - [`SCORE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/score) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Returns relevance scores for full text function expressions.

  - [`TOP_SNIPPETS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/search-functions/top-snippets) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts the best snippets for a query string from a text field.
</dropdown>


### Spatial functions

<dropdown title="Spatial function list">
  - Geospatial predicates
    - [`ST_DISTANCE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_distance)
    Computes the distance between two points.
  - [`ST_INTERSECTS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_intersects)
    Returns true if two geometries intersect.
  - [`ST_DISJOINT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_disjoint)
    Returns whether two geometries are disjoint, sharing no points in common.
  - [`ST_CONTAINS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_contains)
    Returns whether the first geometry contains the second geometry.
  - [`ST_WITHIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_within)
    Returns whether the first geometry is within the second geometry.
  - Geometry functions
    - [`ST_X`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_x)
    Extracts the x coordinate from the supplied point.
  - [`ST_Y`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_y)
    Extracts the y coordinate from the supplied point.
  - [`ST_NPOINTS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_npoints) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Counts the number of points in the supplied geometry.
  - [`ST_BUFFER`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_buffer) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Computes a buffer area around the input geometry at the specified distance.
  - [`ST_SIMPLIFY`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_simplify) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Simplifies the input geometry using the Douglas-Peucker algorithm with a specified tolerance.
  - [`ST_SIMPLIFYPRESERVETOPOLOGY`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_simplifypreservetopology) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Simplifies the input geometry using a topology-preserving Douglas-Peucker algorithm.
  - [`ST_GEOMETRYTYPE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_geometrytype) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Returns the geometry type of the supplied geometry as a string.
  - [`ST_DIMENSION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_dimension) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Returns the topological dimension of the supplied geometry.
  - [`ST_ISEMPTY`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_isempty) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Returns true if the supplied geometry is empty.
  - [`ST_ENVELOPE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_envelope) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Determines the minimum bounding box of the supplied geometry.
    - [`ST_XMAX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_xmax) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts the maximum x coordinate from the supplied geometry.
  - [`ST_XMIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_xmin) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts the minimum x coordinate from the supplied geometry.
  - [`ST_YMAX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_ymax) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts the maximum y coordinate from the supplied geometry.
  - [`ST_YMIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_ymin) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts the minimum y coordinate from the supplied geometry.
  - Grid encoding functions
    - [`ST_GEOTILE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_geotile) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates the geotile of the supplied geo_point at the specified precision.
  - [`ST_GEOHEX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_geohex) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates the geohex (H3 cell-id) of the supplied geo_point at the specified precision.
  - [`ST_GEOHASH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/spatial-functions/st_geohash) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Calculates the geohash of the supplied geo_point at the specified precision.
</dropdown>


### String functions

<dropdown title="String function list">
  - [`BIT_LENGTH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/bit_length)
    Returns the bit length of a string.
  - [`BYTE_LENGTH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/byte_length)
    Returns the byte length of a string.
  - [`CHUNK`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/chunk) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Splits a text field into smaller chunks.
  - [`CONCAT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/concat)
    Concatenates two or more strings.
  - [`CONTAINS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/contains) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Checks whether a keyword substring is contained within another string.
  - [`ENDS_WITH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/ends_with)
    Checks whether a keyword string ends with another string.
  - [`FROM_BASE64`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/from_base64)
    Decodes a base64 string.
  - [`HASH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/hash)
    Computes the hash of the input using a specified algorithm.
  - [`JSON_EXTRACT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/json_extract) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Extracts a value from a JSON string using JSONPath syntax.
  - [`LEFT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/left)
    Returns a substring of the specified length from the left side of a string.
  - [`LENGTH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/length)
    Returns the character length of a string.
  - [`LOCATE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/locate)
    Returns the position of a keyword substring within another string.
  - [`LTRIM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/ltrim)
    Removes leading whitespaces from a string.
  - [`MD5`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/md5)
    Computes the MD5 hash of the input.
  - [`REPEAT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/repeat)
    Returns a string repeated a specified number of times.
  - [`REPLACE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/replace)
    Replaces regular expression matches in a string with a replacement string.
  - [`REVERSE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/reverse)
    Returns the input string in reverse order.
  - [`RIGHT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/right)
    Returns a substring of the specified length from the right side of a string.
  - [`RTRIM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/rtrim)
    Removes trailing whitespaces from a string.
  - [`SHA1`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/sha1)
    Computes the SHA1 hash of the input.
  - [`SHA256`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/sha256)
    Computes the SHA256 hash of the input.
  - [`SPACE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/space)
    Returns a string made of the specified number of spaces.
  - [`SPLIT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/split)
    Splits a single valued string into multiple strings.
  - [`STARTS_WITH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/starts_with)
    Checks whether a keyword string starts with another string.
  - [`SUBSTRING`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/substring)
    Returns a substring of a string, specified by a start position and an optional length.
  - [`TO_BASE64`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/to_base64)
    Encodes a string to a base64 string.
  - [`TO_LOWER`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/to_lower)
    Returns a new string converted to lower case.
  - [`TO_UPPER`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/to_upper)
    Returns a new string converted to upper case.
  - [`TRIM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/trim)
    Removes leading and trailing whitespaces from a string.
  - [`URL_DECODE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/url_decode) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    Decodes a URL-encoded string.
  - [`URL_ENCODE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/url_encode) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    URL-encodes a string with spaces encoded as plus signs.
  - [`URL_ENCODE_COMPONENT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/string-functions/url_encode_component) <applies-to>Elastic Stack: Generally available since 9.2</applies-to>
    URL-encodes a string with spaces encoded as percent codes.
</dropdown>


### Type conversion functions

<dropdown title="Type conversion function list">
  - [`TO_AGGREGATE_METRIC_DOUBLE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_aggregate_metric_double) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts a numeric value to an aggregate_metric_double.
  - [`TO_BOOLEAN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_boolean)
    Converts a value to a boolean.
  - [`TO_CARTESIANPOINT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_cartesianpoint)
    Converts a value to a cartesian_point.
  - [`TO_CARTESIANSHAPE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_cartesianshape)
    Converts a value to a cartesian_shape.
  - [`TO_COUNTER`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_counter) <applies-to>Elastic Stack: Planned</applies-to>
    Converts a numeric value to its counter type equivalent.
  - [`TO_DATEPERIOD`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_dateperiod)
    Converts a value to a date_period.
  - [`TO_DATETIME`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_datetime)
    Converts a value to a date.
  - [`TO_DATE_NANOS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_date_nanos)
    Converts a value to a nanosecond-resolution date.
  - [`TO_DEGREES`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_degrees)
    Converts a number in radians to degrees.
  - [`TO_DENSE_VECTOR`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_dense_vector) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts numbers or a hexadecimal string to a dense_vector.
  - [`TO_DOUBLE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_double)
    Converts a value to a double.
  - [`TO_EXPONENTIAL_HISTOGRAM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_exponential_histogram) <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Converts histogram-like values to an exponential histogram.
  - [`TO_GAUGE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_gauge) <applies-to>Elastic Stack: Planned</applies-to>
    Converts a counter value to its gauge numeric equivalent.
  - [`TO_GEOHASH`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_geohash) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts a value to a geohash.
  - [`TO_GEOHEX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_geohex) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts a value to a geohex.
  - [`TO_GEOPOINT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_geopoint)
    Converts a value to a geo_point.
  - [`TO_GEOSHAPE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_geoshape)
    Converts a value to a geo_shape.
  - [`TO_GEOTILE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_geotile) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts a value to a geotile.
  - [`TO_INTEGER`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_integer)
    Converts a value to an integer.
  - [`TO_IP`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_ip)
    Converts a string to an IP value.
  - [`TO_LONG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_long)
    Converts a value to a long.
  - [`TO_RADIANS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_radians)
    Converts a number in degrees to radians.
  - [`TO_STRING`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_string)
    Converts a value to a string.
  - [`TO_TDIGEST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_tdigest) <applies-to>Elastic Stack: Generally available since 9.4, Elastic Stack: Preview in 9.3</applies-to>
    Converts an untyped histogram to a TDigest.
  - [`TO_TIMEDURATION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_timeduration)
    Converts a value to a time_duration.
  - [`TO_UNSIGNED_LONG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_unsigned_long) <applies-to>Elastic Stack: Preview</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Converts a value to an unsigned long.
  - [`TO_VERSION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/type-conversion-functions/to_version)
    Converts a string to a version value.
</dropdown>


### Dense vector functions

<dropdown title="Dense vector function list">
  - Dense vector functions
    - [`EMBEDDING`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/embedding) <applies-to>Elastic Stack: Planned</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
    Generates dense vector embeddings from multimodal input using an inference endpoint.
  - [`KNN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/knn) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Finds the k nearest vectors to a query vector using a similarity metric.
  - [`TEXT_EMBEDDING`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/text_embedding) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Generates dense vector embeddings from text input using an inference endpoint.
  - Vector similarity functions
    - [`V_COSINE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/v_cosine) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the cosine similarity between two dense_vectors.
  - [`V_DOT_PRODUCT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/v_dot_product) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the dot product between two dense_vectors.
  - [`V_HAMMING`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/v_hamming) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the Hamming distance between two dense vectors.
  - [`V_L1_NORM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/v_l1_norm) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the L1 norm (Manhattan distance) between two dense_vectors.
  - [`V_L2_NORM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/dense-vector-functions/v_l2_norm) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Stack: Generally available since 9.4</applies-to>
    Calculates the L2 norm (Euclidean distance) between two dense_vectors.
</dropdown>


### Multi value functions

<dropdown title="Multi value function list">
  - [`MV_APPEND`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_append)
  - [`MV_AVG`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_avg)
  - [`MV_CONCAT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_concat)
  - [`MV_CONTAINS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_contains) <applies-to>Elastic Stack: Preview since 9.2</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
  - [`MV_COUNT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_count)
  - [`MV_DEDUPE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_dedupe)
  - [`MV_DIFFERENCE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_difference) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
  - [`MV_FIRST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_first)
  - [`MV_INTERSECTION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_intersection) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
  - [`MV_INTERSECTS`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_intersects) <applies-to>Elastic Stack: Preview since 9.3</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
  - [`MV_LAST`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_last)
  - [`MV_MAX`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_max)
  - [`MV_MEDIAN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_median)
  - [`MV_MEDIAN_ABSOLUTE_DEVIATION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_median_absolute_deviation)
  - [`MV_MIN`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_min)
  - [`MV_PERCENTILE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_percentile)
  - [`MV_PSERIES_WEIGHTED_SUM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_pseries_weighted_sum)
  - [`MV_SORT`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_sort)
  - [`MV_SLICE`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_slice)
  - [`MV_SUM`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_sum)
  - [`MV_UNION`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_union) <applies-to>Elastic Stack: Preview since 9.4</applies-to> <applies-to>Elastic Cloud Serverless: Preview</applies-to>
  - [`MV_ZIP`](https://docs-v3-preview.elastic.dev/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/mv-functions/mv_zip)
</dropdown>


## Operators overview

<dropdown title="Operator list">
  - [Binary operators](/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/operators#esql-binary-operators)
  - [Unary operators](/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/operators#esql-unary-operators)
  - [Logical operators](/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/operators#esql-logical-operators)
  - [suffix operators](/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/operators#esql-suffix-operators)
  - [infix operators](/elastic/elasticsearch/pull/151137/reference/query-languages/esql/functions-operators/operators#esql-infix-operators)
</dropdown>