This is an automated email from the ASF dual-hosted git repository.
frankchen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new d8f8c56f94 Docs: Index page with all SQL functions (#12771)
d8f8c56f94 is described below
commit d8f8c56f94434b078d4c399b1653c9559f8b1a15
Author: Victoria Lim <[email protected]>
AuthorDate: Wed Jul 13 18:59:55 2022 -0700
Docs: Index page with all SQL functions (#12771)
* list of all functions
* add function names to spelling file
---
docs/querying/sql-functions.md | 1325 ++++++++++++++++++++++++++++++++++++++++
website/.spelling | 82 +++
website/sidebars.json | 1 +
3 files changed, 1408 insertions(+)
diff --git a/docs/querying/sql-functions.md b/docs/querying/sql-functions.md
new file mode 100644
index 0000000000..410180efa9
--- /dev/null
+++ b/docs/querying/sql-functions.md
@@ -0,0 +1,1325 @@
+---
+id: sql-functions
+title: "All Druid SQL functions"
+sidebar_label: "All functions"
+---
+
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+
+> Apache Druid supports two query languages: Druid SQL and [native
queries](querying.md).
+> This document describes the SQL language.
+
+
+This page provides a reference of all Druid SQL functions in alphabetical
order.
+Click the linked function type for documentation on a particular function.
+
+## ABS
+
+`ABS(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the absolute value of a numeric expression.
+
+## ACOS
+
+`ACOS(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the arc cosine of a numeric expression.
+
+## ANY_VALUE
+
+`ANY_VALUE(<NUMERIC>)`
+
+`ANY_VALUE(<BOOLEAN>)`
+
+`ANY_VALUE(<CHARACTER>, <NUMERIC>)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns any value of the specified expression.
+
+## APPROX_COUNT_DISTINCT
+
+`APPROX_COUNT_DISTINCT(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Counts distinct values of a regular column or a prebuilt sketch column.
+
+`APPROX_COUNT_DISTINCT_BUILTIN(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Counts distinct values of a string, numeric, or `hyperUnique` column using
Druid's built-in `cardinality` or `hyperUnique` aggregators.
+
+## APPROX_COUNT_DISTINCT_DS_HLL
+
+`APPROX_COUNT_DISTINCT_DS_HLL(expr, [<NUMERIC>, <CHARACTER>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Counts distinct values of an HLL sketch column or a regular column.
+
+## APPROX_COUNT_DISTINCT_DS_THETA
+
+`APPROX_COUNT_DISTINCT_DS_THETA(expr, [<NUMERIC>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Counts distinct values of a Theta sketch column or a regular column.
+
+## APPROX_QUANTILE
+
+`APPROX_QUANTILE(expr, <NUMERIC>, [<NUMERIC>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Deprecated in favor of `APPROX_QUANTILE_DS`.
+
+## APPROX_QUANTILE_DS
+
+`APPROX_QUANTILE_DS(expr, <NUMERIC>, [<NUMERIC>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Computes approximate quantiles on a Quantiles sketch column or a regular
numeric column.
+
+## APPROX_QUANTILE_FIXED_BUCKETS
+
+`APPROX_QUANTILE_FIXED_BUCKETS(expr, <NUMERIC>, <NUMERIC>, <NUMERIC>,
<NUMERIC>, [<CHARACTER>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Computes approximate quantiles on fixed buckets histogram column or a regular
numeric column.
+
+## ARRAY[]
+
+`ARRAY[expr1, expr2, ...]`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Constructs a SQL ARRAY literal from the expression arguments. The arguments
must be of the same type.
+
+## ARRAY_AGG
+
+`ARRAY_AGG([DISTINCT] expr, [<NUMERIC>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns an array of all values of the specified expression.
+
+## ARRAY_CONCAT_AGG
+
+`ARRAY_CONCAT_AGG([DISTINCT] expr, [<NUMERIC>])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Concatenates array inputs into a single array.
+
+## ASIN
+
+`ASIN(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the arc sine of a numeric expression.
+
+## ATAN
+
+`ATAN(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the arc tangent of a numeric expression.
+
+## ATAN2
+
+`ATAN2(<NUMERIC>, <NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the arc tangent of the two arguments.
+
+## AVG
+
+`AVG(<NUMERIC>)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the average of a set of values.
+
+## BIT_AND
+
+`BIT_AND(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Performs a bitwise AND operation on all input values.
+
+## BIT_OR
+
+`BIT_OR(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Performs a bitwise OR operation on all input values.
+
+## BIT_XOR
+
+`BIT_XOR(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Performs a bitwise XOR operation on all input values.
+
+## BITWISE_AND
+
+`BITWISE_AND(expr1, expr2)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns the bitwise AND between the two expressions, that is, `expr1 & expr2`.
+
+## BITWISE_COMPLEMENT
+
+`BITWISE_COMPLEMENT(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns the bitwise NOT for the expression, that is, `~expr`.
+
+## BITWISE_CONVERT_DOUBLE_TO_LONG_BITS
+
+`BITWISE_CONVERT_DOUBLE_TO_LONG_BITS(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts the bits of an IEEE 754 floating-point double value to a long.
+
+## BITWISE_CONVERT_LONG_BITS_TO_DOUBLE
+
+`BITWISE_CONVERT_LONG_BITS_TO_DOUBLE(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts a long to the IEEE 754 floating-point double specified by the bits
stored in the long.
+
+## BITWISE_OR
+
+`BITWISE_OR(expr1, expr2)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns the bitwise OR between the two expressions, that is, `expr1 | expr2`.
+
+## BITWISE_SHIFT_LEFT
+
+`BITWISE_SHIFT_LEFT(expr1, expr2)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns a bitwise left shift of expr1, that is, `expr1 << expr2`.
+
+## BITWISE_SHIFT_RIGHT
+
+`BITWISE_SHIFT_RIGHT(expr1, expr2)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns a bitwise right shift of expr1, that is, `expr1 >> expr2`.
+
+## BITWISE_XOR
+
+`BITWISE_XOR(expr1, expr2)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns the bitwise exclusive OR between the two expressions, that is, `expr1
^ expr2`.
+
+## BLOOM_FILTER
+
+`BLOOM_FILTER(expr, <NUMERIC>)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Computes a Bloom filter from values produced by the specified expression.
+
+## BLOOM_FILTER_TEST
+
+`BLOOM_FILTER_TEST(expr, <STRING>)`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Returns true if the expression is contained in a Base64-serialized Bloom
filter.
+
+## BTRIM
+
+`BTRIM(<CHARACTER>, [<CHARACTER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Trims characters from both the leading and trailing ends of an expression.
+
+## CASE
+
+`CASE expr WHEN value1 THEN result1 \[ WHEN value2 THEN result2 ... \] \[ ELSE
resultN \] END`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Returns a result based on a given condition.
+
+## CAST
+
+`CAST(value AS TYPE)`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Converts a value into the specified data type.
+
+## CEIL (date and time)
+
+`CEIL(<TIMESTAMP> TO <TIME_UNIT>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Rounds up a timestamp by a given time unit.
+
+## CEIL (numeric)
+
+`CEIL(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the smallest integer value greater than or equal to the numeric
expression.
+
+## CHAR_LENGTH
+
+`CHAR_LENGTH(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Alias for [`LENGTH`](#length).
+
+## CHARACTER_LENGTH
+
+`CHARACTER_LENGTH(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Alias for [`LENGTH`](#length).
+
+## COALESCE
+
+`COALESCE(expr, expr, ...)`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Returns the first non-null value.
+
+## CONCAT
+
+`CONCAT(expr, expr...)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Concatenates a list of expressions.
+
+## CONTAINS_STRING
+
+`CONTAINS_STRING(<CHARACTER>, <CHARACTER>)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Finds whether a string is in a given expression, case-sensitive.
+
+## COS
+
+`COS(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the trigonometric cosine of an angle expressed in radians.
+
+## COT
+
+`COT(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the trigonometric cotangent of an angle expressed in radians.
+
+## COUNT
+
+`COUNT([DISTINCT] expr)`
+
+`COUNT(*)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Counts the number of rows.
+
+## CURRENT_DATE
+
+`CURRENT_DATE`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Returns the current date in the connection's time zone.
+
+## CURRENT_TIMESTAMP
+
+`CURRENT_TIMESTAMP`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Returns the current timestamp in the connection's time zone.
+
+## DATE_TRUNC
+
+`DATE_TRUNC(<CHARACTER>, <TIMESTAMP>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Rounds down a timestamp by a given time unit.
+
+## DEGREES
+
+`DEGREES(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts an angle from radians to degrees.
+
+## DIV
+
+`DIV(x, y)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns the result of integer division of `x` by `y`.
+
+## DS_CDF
+
+`DS_CDF(expr, splitPoint0, splitPoint1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a string representing an approximation to the Cumulative Distribution
Function given the specified bin definition.
+
+## DS_GET_QUANTILE
+
+`DS_GET_QUANTILE(expr, fraction)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns the quantile estimate corresponding to `fraction` from a quantiles
sketch.
+
+## DS_GET_QUANTILES
+
+`DS_GET_QUANTILES(expr, fraction0, fraction1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a string representing an array of quantile estimates corresponding to
a list of fractions from a quantiles sketch.
+
+## DS_HISTOGRAM
+
+`DS_HISTOGRAM(expr, splitPoint0, splitPoint1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a string representing an approximation to the histogram given the
specified bin definition.
+
+
+## DS_HLL
+
+`DS_HLL(expr, [lgK, tgtHllType])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Creates an HLL sketch on a column containing HLL sketches or a regular column.
+
+## DS_QUANTILE_SUMMARY
+
+`DS_QUANTILE_SUMMARY(expr)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a string summary of a quantiles sketch.
+
+## DS_QUANTILES_SKETCH
+
+`DS_QUANTILES_SKETCH(expr, [k])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Creates a Quantiles sketch on a column containing Quantiles sketches or a
regular column.
+
+## DS_RANK
+
+`DS_RANK(expr, value)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns an approximate rank between 0 and 1 of a given value, in which the
rank signifies the fraction of the distribution less than the given value.
+
+## DS_THETA
+
+`DS_THETA(expr, [size])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Creates a Theta sketch on a column containing Theta sketches or a regular
column.
+
+## EARLIEST
+
+`EARLIEST(expr)`
+
+`EARLIEST(expr, maxBytesPerString)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the value of a numeric or string expression corresponding to the
earliest `__time` value.
+
+## EARLIEST_BY
+
+`EARLIEST_BY(expr, timestampExpr)`
+
+`EARLIEST_BY(expr, timestampExpr, maxBytesPerString)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the value of a numeric or string expression corresponding to the
earliest time value from `timestampExpr`.
+
+## EXP
+
+`EXP(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates _e_ raised to the power of the numeric expression.
+
+## EXTRACT
+
+`EXTRACT(<TIME_UNIT> FROM <TIMESTAMP>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Extracts the value of some unit of the timestamp, optionally from a certain
time zone, and returns the number.
+
+## FLOOR (date and time)
+
+`FLOOR(<TIMESTAMP> TO <TIME_UNIT>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Rounds down a timestamp by a given time unit.
+
+## FLOOR (numeric)
+
+`FLOOR(<NUMERIC>)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the largest integer value less than or equal to the numeric
expression.
+
+## GREATEST
+
+`GREATEST([expr1, ...])`
+
+**Function type:** [Scalar, reduction](sql-scalar.md#reduction-functions)
+
+Returns the maximum value from the provided arguments.
+
+## GROUPING
+
+`GROUPING(expr, expr...)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns a number for each output row of a groupBy query, indicating whether
the specified dimension is included for that row.
+
+## HLL_SKETCH_ESTIMATE
+
+`HLL_SKETCH_ESTIMATE(expr, [round])`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns the distinct count estimate from an HLL sketch.
+
+## HLL_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS
+
+`HLL_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS(expr, [numStdDev])`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns the distinct count estimate and error bounds from an HLL sketch.
+
+## HLL_SKETCH_TO_STRING
+
+`HLL_SKETCH_TO_STRING(expr)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a human-readable string representation of an HLL sketch.
+
+## HLL_SKETCH_UNION
+
+`HLL_SKETCH_UNION([lgK, tgtHllType], expr0, expr1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a union of HLL sketches.
+
+## HUMAN_READABLE_BINARY_BYTE_FORMAT
+
+`HUMAN_READABLE_BINARY_BYTE_FORMAT(value[, precision])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts an integer byte size into human-readable IEC format.
+
+## HUMAN_READABLE_DECIMAL_BYTE_FORMAT
+
+`HUMAN_READABLE_DECIMAL_BYTE_FORMAT(value[, precision])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts a byte size into human-readable SI format.
+
+## HUMAN_READABLE_DECIMAL_FORMAT
+
+`HUMAN_READABLE_DECIMAL_FORMAT(value[, precision])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts a byte size into human-readable SI format with single-character units.
+
+## ICONTAINS_STRING
+
+`ICONTAINS_STRING(<expr>, str)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Finds whether a string is in a given expression, case-insensitive.
+
+## IPV4_MATCH
+
+`IPV4_MATCH(address, subnet)`
+
+**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+Returns true if the `address` belongs to the `subnet` literal, else false.
+
+## IPV4_PARSE
+
+`IPV4_PARSE(address)`
+
+**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+Parses `address` into an IPv4 address stored as an integer.
+
+## IPV4_STRINGIFY
+
+`IPV4_STRINGIFY(address)`
+
+**Function type:** [Scalar, IP address](sql-scalar.md#ip-address-functions)
+
+Converts `address` into an IPv4 address in dot-decimal notation.
+
+## LATEST
+
+`LATEST(expr)`
+
+`LATEST(expr, maxBytesPerString)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the value of a numeric or string expression corresponding to the
latest `__time` value.
+
+## LATEST_BY
+
+`LATEST_BY(expr, timestampExpr)`
+
+`LATEST_BY(expr, timestampExpr, maxBytesPerString)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the value of a numeric or string expression corresponding to the
latest time value from `timestampExpr`.
+
+## LEAST
+
+`LEAST([expr1, ...])`
+
+**Function type:** [Scalar, reduction](sql-scalar.md#reduction-functions)
+
+Returns the minimum value from the provided arguments.
+
+## LEFT
+
+`LEFT(expr, [length])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the leftmost number of characters from an expression.
+
+## LENGTH
+
+`LENGTH(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the length of the expression in UTF-16 encoding.
+
+## LN
+
+`LN(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the natural logarithm of the numeric expression.
+
+## LOG10
+
+`LOG10(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the base-10 of the numeric expression.
+
+## LOOKUP
+
+`LOOKUP(<CHARACTER>, <CHARACTER>)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Looks up the expression in a registered query-time lookup table.
+
+## LOWER
+
+`LOWER(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the expression in lowercase.
+
+## LPAD
+
+`LPAD(<CHARACTER>, <INTEGER>, [<CHARACTER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the leftmost number of characters from an expression, optionally
padded with the given characters.
+
+## LTRIM
+
+`LTRIM(<CHARACTER>, [<CHARACTER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Trims characters from the leading end of an expression.
+
+## MAX
+
+`MAX(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the maximum value of a set of values.
+
+## MILLIS_TO_TIMESTAMP
+
+`MILLIS_TO_TIMESTAMP(millis_expr)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Converts a number of milliseconds since epoch into a timestamp.
+
+## MIN
+
+`MIN(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the minimum value of a set of values.
+
+## MOD
+
+`MOD(x, y)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates x modulo y, or the remainder of x divided by y.
+
+## MV_APPEND
+
+`MV_APPEND(arr1, expr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Adds the expression to the end of the array.
+
+## MV_CONCAT
+
+`MV_CONCAT(arr1, arr2)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Concatenates two arrays.
+
+## MV_CONTAINS
+
+`MV_CONTAINS(arr, expr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns true if the expression is in the array, false otherwise.
+
+## MV_FILTER_NONE
+
+`MV_FILTER_NONE(expr, arr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Filters a multi-value expression to include no values contained in the array.
+
+## MV_FILTER_ONLY
+
+`MV_FILTER_ONLY(expr, arr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Filters a multi-value expression to include only values contained in the array.
+
+## MV_LENGTH
+
+`MV_LENGTH(arr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns the length of an array expression.
+
+## MV_OFFSET
+
+`MV_OFFSET(arr, long)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns the array element at the given zero-based index.
+
+## MV_OFFSET_OF
+
+`MV_OFFSET_OF(arr, expr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns the zero-based index of the first occurrence of a given expression in
the array.
+
+## MV_ORDINAL
+
+`MV_ORDINAL(arr, long)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns the array element at the given one-based index.
+
+## MV_ORDINAL_OF
+
+`MV_ORDINAL_OF(arr, expr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns the one-based index of the first occurrence of a given expression.
+
+## MV_OVERLAP
+
+`MV_OVERLAP(arr1, arr2)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns true if the two arrays have any elements in common, false otherwise.
+
+## MV_PREPEND
+
+`MV_PREPEND(expr, arr)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Adds the expression to the beginning of the array.
+
+## MV_SLICE
+
+`MV_SLICE(arr, start, end)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Returns a slice of the array from the zero-based start and end indexes.
+
+## MV_TO_STRING
+
+`MV_TO_STRING(arr, str)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Joins all elements of the array together by the given delimiter.
+
+## NULLIF
+
+`NULLIF(value1, value2)`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Returns NULL if two values are equal, else returns the first value.
+
+## NVL
+
+`NVL(e1, e2)`
+
+**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions)
+
+Returns `e2` if `e1` is null, else returns `e1`.
+
+## PARSE_LONG
+
+`PARSE_LONG(<CHARACTER>, [<INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Converts a string into a BIGINT with the given base or into a DECIMAL data
type if the base is not specified.
+
+## POSITION
+
+`POSITION(<CHARACTER> IN <CHARACTER> [FROM <INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the one-based index position of a substring within an expression,
optionally starting from a given one-based index.
+
+## POWER
+
+`POWER(expr, power)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates a numerical expression raised to the specified power.
+
+## RADIANS
+
+`RADIANS(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Converts an angle from degrees to radians.
+
+## REGEXP_EXTRACT
+
+`REGEXP_EXTRACT(<CHARACTER>, <CHARACTER>, [<INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Applies a regular expression to the string expression and returns the _n_th
match.
+
+## REGEXP_LIKE
+
+`REGEXP_LIKE(<CHARACTER>, <CHARACTER>)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns true or false signifying whether the regular expression finds a match
in the string expression.
+
+## REPEAT
+
+`REPEAT(<CHARACTER>, [<INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Repeats the string expression an integer number of times.
+
+## REPLACE
+
+`REPLACE(expr, pattern, replacement)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Replaces a pattern with another string in the given expression.
+
+## REVERSE
+
+`REVERSE(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Reverses the given expression.
+
+## RIGHT
+
+`RIGHT(expr, [length])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the rightmost number of characters from an expression.
+
+## ROUND
+
+`ROUND(expr[, digits])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the rounded value for a numerical expression.
+
+## RPAD
+
+`RPAD(<CHARACTER>, <INTEGER>, [<CHARACTER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the rightmost number of characters from an expression, optionally
padded with the given characters.
+
+## RTRIM
+
+`RTRIM(<CHARACTER>, [<CHARACTER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Trims characters from the trailing end of an expression.
+
+## SAFE_DIVIDE
+
+`SAFE_DIVIDE(x, y)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Returns `x` divided by `y`, guarded on division by 0.
+
+## SIN
+
+`SIN(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the trigonometric sine of an angle expressed in radians.
+
+## SQRT
+
+`SQRT(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the square root of a numeric expression.
+
+## STDDEV
+
+`STDDEV(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Alias for [`STDDEV_SAMP`](#stddev_samp).
+
+## STDDEV_POP
+
+`STDDEV_POP(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the population standard deviation of a set of values.
+
+## STDDEV_SAMP
+
+`STDDEV_SAMP(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the sample standard deviation of a set of values.
+
+## STRING_AGG
+
+`STRING_AGG(expr, separator, [size])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Collects all values of an expression into a single string.
+
+## STRING_FORMAT
+
+`STRING_FORMAT(pattern[, args...])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns a string formatted in accordance to Java's String.format method.
+
+## STRING_TO_MV
+
+`STRING_TO_MV(str1, str2)`
+
+**Function type:** [Multi-value string](sql-multivalue-string-functions.md)
+
+Converts a string into an array, split by the given delimiter.
+
+## STRLEN
+
+`STRLEN(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Alias for [`LENGTH`](#length).
+
+## STRPOS
+
+`STRPOS(<CHARACTER>, <CHARACTER>)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the one-based index position of a substring within an expression.
+
+## SUBSTR
+
+`SUBSTR(<CHARACTER>, <INTEGER>, [<INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Alias for [`SUBSTRING`](#substring).
+
+## SUBSTRING
+
+`SUBSTRING(<CHARACTER>, <INTEGER>, [<INTEGER>])`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns a substring of the expression starting at a given one-based index.
+
+## SUM
+
+`SUM(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the sum of a set of values.
+
+## TAN
+
+`TAN(expr)`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Calculates the trigonometric tangent of an angle expressed in radians.
+
+## TDIGEST_GENERATE_SKETCH
+
+`TDIGEST_GENERATE_SKETCH(expr, [compression])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Generates a T-digest sketch from values of the specified expression.
+
+## TDIGEST_QUANTILE
+
+`TDIGEST_QUANTILE(expr, quantileFraction, [compression])`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Returns the quantile for the specified fraction from a T-Digest sketch
constructed from values of the expression.
+
+## TEXTCAT
+
+`TEXTCAT(<CHARACTER>, <CHARACTER>)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Concatenates two string expressions.
+
+## THETA_SKETCH_ESTIMATE
+
+`THETA_SKETCH_ESTIMATE(expr)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns the distinct count estimate from a Theta sketch.
+
+## THETA_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS
+
+`THETA_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS(expr, errorBoundsStdDev)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns the distinct count estimate and error bounds from a Theta sketch.
+
+## THETA_SKETCH_INTERSECT
+
+`THETA_SKETCH_INTERSECT([size], expr0, expr1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns an intersection of Theta sketches.
+
+## THETA_SKETCH_NOT
+
+`THETA_SKETCH_NOT([size], expr0, expr1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a set difference of Theta sketches.
+
+## THETA_SKETCH_UNION
+
+`THETA_SKETCH_UNION([size], expr0, expr1, ...)`
+
+**Function type:** [Scalar, sketch](sql-scalar.md#sketch-functions)
+
+Returns a union of Theta sketches.
+
+## TIME_CEIL
+
+`TIME_CEIL(<TIMESTAMP>, <period>, [<origin>, [<timezone>]])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Rounds up a timestamp by a given time period, optionally from some reference
time or timezone.
+
+## TIME_EXTRACT
+
+`TIME_EXTRACT(<TIMESTAMP>, [<unit>, [<timezone>]])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Extracts the value of some unit of the timestamp and returns the number.
+
+## TIME_FLOOR
+
+`TIME_FLOOR(<TIMESTAMP>, <period>, [<origin>, [<timezone>]])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Rounds down a timestamp by a given time period, optionally from some reference
time or timezone.
+
+## TIME_FORMAT
+
+`TIME_FORMAT(<TIMESTAMP>, [<pattern>, [<timezone>]])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Formats a timestamp as a string.
+
+## TIME_IN_INTERVAL
+
+`TIME_IN_INTERVAL(<TIMESTAMP>, <CHARACTER>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Returns whether a timestamp is contained within a particular interval,
formatted as a string.
+
+## TIME_PARSE
+
+`TIME_PARSE(<string_expr>, [<pattern>, [<timezone>]])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Parses a string into a timestamp.
+
+## TIME_SHIFT
+
+`TIME_SHIFT(<TIMESTAMP>, <period>, <step>, [<timezone>])`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Shifts a timestamp forwards or backwards by a given number of time units.
+
+## TIMESTAMP_TO_MILLIS
+
+`TIMESTAMP_TO_MILLIS(<TIMESTAMP>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Returns the number of milliseconds since epoch for the given timestamp.
+
+## TIMESTAMPADD
+
+`TIMESTAMPADD(<unit>, <count>, <TIMESTAMP>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Adds a certain amount of time to a given timestamp.
+
+## TIMESTAMPDIFF
+
+`TIMESTAMPDIFF(<unit>, <TIMESTAMP>, <TIMESTAMP>)`
+
+**Function type:** [Scalar, date and
time](sql-scalar.md#date-and-time-functions)
+
+Takes the difference between two timestamps, returning the results in the
given units.
+
+## TRIM
+
+`TRIM([BOTH|LEADING|TRAILING] [<chars> FROM] expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Trims the leading or trailing characters of an expression.
+
+## TRUNC
+
+`TRUNC(expr[, digits])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Alias for [`TRUNCATE`](#truncate).
+
+## TRUNCATE
+
+`TRUNCATE(expr[, digits])`
+
+**Function type:** [Scalar, numeric](sql-scalar.md#numeric-functions)
+
+Truncates a numerical expression to a specific number of decimal digits.
+
+## UPPER
+
+`UPPER(expr)`
+
+**Function type:** [Scalar, string](sql-scalar.md#string-functions)
+
+Returns the expression in uppercase.
+
+## VAR_POP
+
+`VAR_POP(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the population variance of a set of values.
+
+## VAR_SAMP
+
+`VAR_SAMP(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Calculates the sample variance of a set of values.
+
+## VARIANCE
+
+`VARIANCE(expr)`
+
+**Function type:** [Aggregation](sql-aggregations.md)
+
+Alias for [`VAR_SAMP`](#var_samp).
+
diff --git a/website/.spelling b/website/.spelling
index ab4a41cd1a..789e3bfa41 100644
--- a/website/.spelling
+++ b/website/.spelling
@@ -2019,3 +2019,85 @@ Golang
multiValueHandling
_n_
100TB
+ - ../docs/querying/sql-functions.md
+ANY_VALUE
+APPROX_COUNT_DISTINCT_DS_HLL
+APPROX_COUNT_DISTINCT_DS_THETA
+APPROX_QUANTILE_DS
+APPROX_QUANTILE_FIXED_BUCKETS
+ARRAY_CONCAT_AGG
+BIT_AND
+BIT_OR
+BIT_XOR
+BITWISE_AND
+BITWISE_COMPLEMENT
+BITWISE_CONVERT_DOUBLE_TO_LONG_BITS
+BITWISE_CONVERT_LONG_BITS_TO_DOUBLE
+BITWISE_OR
+BITWISE_SHIFT_LEFT
+BITWISE_SHIFT_RIGHT
+BITWISE_XOR
+BLOOM_FILTER
+BTRIM
+CHAR_LENGTH
+CHARACTER_LENGTH
+CURRENT_DATE
+CURRENT_TIMESTAMP
+DATE_TRUNC
+DS_CDF
+DS_GET_QUANTILE
+DS_GET_QUANTILES
+DS_HISTOGRAM
+DS_HLL
+DS_QUANTILE_SUMMARY
+DS_QUANTILES_SKETCH
+DS_RANK
+DS_THETA
+EARLIEST_BY
+_e_
+HLL_SKETCH_ESTIMATE
+HLL_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS
+HLL_SKETCH_TO_STRING
+HLL_SKETCH_UNION
+LATEST_BY
+base-10
+MV_APPEND
+MV_CONCAT
+MV_CONTAINS
+MV_FILTER_NONE
+MV_FILTER_ONLY
+MV_LENGTH
+MV_OFFSET
+MV_OFFSET_OF
+MV_ORDINAL
+MV_ORDINAL_OF
+MV_OVERLAP
+MV_PREPEND
+MV_SLICE
+MV_TO_STRING
+NULLIF
+_n_th
+STDDEV_POP
+STDDEV_SAMP
+STRING_FORMAT
+STRING_TO_MV
+SUBSTR
+TDIGEST_GENERATE_SKETCH
+TDIGEST_QUANTILE
+TEXTCAT
+THETA_SKETCH_ESTIMATE
+THETA_SKETCH_ESTIMATE_WITH_ERROR_BOUNDS
+THETA_SKETCH_INTERSECT
+THETA_SKETCH_NOT
+THETA_SKETCH_UNION
+TIME_CEIL
+TIME_EXTRACT
+TIME_FLOOR
+TIME_FORMAT
+TIME_IN_INTERVAL
+TIMESTAMP_TO_MILLIS
+TIMESTAMPADD
+TIMESTAMPDIFF
+TRUNC
+VAR_POP
+VAR_SAMP
diff --git a/website/sidebars.json b/website/sidebars.json
index 5117ee9fdb..7f703ef152 100644
--- a/website/sidebars.json
+++ b/website/sidebars.json
@@ -76,6 +76,7 @@
"querying/sql-scalar",
"querying/sql-aggregations",
"querying/sql-multivalue-string-functions",
+ "querying/sql-functions",
"querying/sql-api",
"querying/sql-jdbc",
"querying/sql-query-context",
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]