blob: cab419e86f684a79b78bb2dbf2ba19e3e12d4537 [file] [log] [blame]
<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Built-in Functions - Spark 4.1.0-preview1 Documentation</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&Courier+Prime:wght@400;700&display=swap" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script>
<link rel="stylesheet" href="css/pygments-default.css">
<link rel="stylesheet" href="css/docsearch.min.css" />
<link rel="stylesheet" href="css/docsearch.css">
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["disableCookies"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '40']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body class="global">
<!-- This code is taken from http://twitter.github.com/bootstrap/examples/hero.html -->
<nav class="navbar navbar-expand-lg navbar-dark p-0 px-4 fixed-top" style="background: #1d6890;" id="topbar">
<div class="navbar-brand"><a href="index.html">
<img src="https://spark.apache.org/images/spark-logo-rev.svg" width="141" height="72"/></a><span class="version">4.1.0-preview1</span>
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarCollapse" aria-controls="navbarCollapse"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a href="index.html" class="nav-link">Overview</a></li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarQuickStart" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Programming Guides</a>
<div class="dropdown-menu" aria-labelledby="navbarQuickStart">
<a class="dropdown-item" href="quick-start.html">Quick Start</a>
<a class="dropdown-item" href="rdd-programming-guide.html">RDDs, Accumulators, Broadcasts Vars</a>
<a class="dropdown-item" href="sql-programming-guide.html">SQL, DataFrames, and Datasets</a>
<a class="dropdown-item" href="streaming/index.html">Structured Streaming</a>
<a class="dropdown-item" href="streaming-programming-guide.html">Spark Streaming (DStreams)</a>
<a class="dropdown-item" href="ml-guide.html">MLlib (Machine Learning)</a>
<a class="dropdown-item" href="graphx-programming-guide.html">GraphX (Graph Processing)</a>
<a class="dropdown-item" href="sparkr.html">SparkR (R on Spark)</a>
<a class="dropdown-item" href="api/python/getting_started/index.html">PySpark (Python on Spark)</a>
<a class="dropdown-item" href="declarative-pipelines-programming-guide.html">Declarative Pipelines</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarAPIDocs" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">API Docs</a>
<div class="dropdown-menu" aria-labelledby="navbarAPIDocs">
<a class="dropdown-item" href="api/python/index.html">Python</a>
<a class="dropdown-item" href="api/scala/org/apache/spark/index.html">Scala</a>
<a class="dropdown-item" href="api/java/index.html">Java</a>
<a class="dropdown-item" href="api/R/index.html">R</a>
<a class="dropdown-item" href="api/sql/index.html">SQL, Built-in Functions</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarDeploying" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Deploying</a>
<div class="dropdown-menu" aria-labelledby="navbarDeploying">
<a class="dropdown-item" href="cluster-overview.html">Overview</a>
<a class="dropdown-item" href="submitting-applications.html">Submitting Applications</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="spark-standalone.html">Spark Standalone</a>
<a class="dropdown-item" href="running-on-yarn.html">YARN</a>
<a class="dropdown-item" href="running-on-kubernetes.html">Kubernetes</a>
</div>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarMore" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">More</a>
<div class="dropdown-menu" aria-labelledby="navbarMore">
<a class="dropdown-item" href="configuration.html">Configuration</a>
<a class="dropdown-item" href="monitoring.html">Monitoring</a>
<a class="dropdown-item" href="tuning.html">Tuning Guide</a>
<a class="dropdown-item" href="job-scheduling.html">Job Scheduling</a>
<a class="dropdown-item" href="security.html">Security</a>
<a class="dropdown-item" href="hardware-provisioning.html">Hardware Provisioning</a>
<a class="dropdown-item" href="migration-guide.html">Migration Guide</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="building-spark.html">Building Spark</a>
<a class="dropdown-item" href="https://spark.apache.org/contributing.html">Contributing to Spark</a>
<a class="dropdown-item" href="https://spark.apache.org/third-party-projects.html">Third Party Projects</a>
</div>
</li>
<li class="nav-item">
<input type="text" id="docsearch-input" placeholder="Search the docs…">
</li>
</ul>
<!--<span class="navbar-text navbar-right"><span class="version-text">v4.1.0-preview1</span></span>-->
</div>
</nav>
<div class="container">
<div class="left-menu-wrapper">
<div class="left-menu">
<h3><a href="sql-programming-guide.html">Spark SQL Guide</a></h3>
<ul>
<li>
<a href="sql-getting-started.html">
Getting Started
</a>
</li>
<li>
<a href="sql-data-sources.html">
Data Sources
</a>
</li>
<li>
<a href="sql-performance-tuning.html">
Performance Tuning
</a>
</li>
<li>
<a href="sql-distributed-sql-engine.html">
Distributed SQL Engine
</a>
</li>
<li>
<a href="sql-pyspark-pandas-with-arrow.html">
PySpark Usage Guide for Pandas with Apache Arrow
</a>
</li>
<li>
<a href="sql-migration-guide.html">
Migration Guide
</a>
</li>
<li>
<a href="sql-ref.html">
SQL Reference
</a>
</li>
<ul>
<li>
<a href="sql-ref-ansi-compliance.html">
ANSI Compliance
</a>
</li>
<li>
<a href="sql-ref-datatypes.html">
Data Types
</a>
</li>
<li>
<a href="sql-ref-datetime-pattern.html">
Datetime Pattern
</a>
</li>
<li>
<a href="sql-ref-number-pattern.html">
Number Pattern
</a>
</li>
<li>
<a href="sql-ref-operators.html">
Operators
</a>
</li>
<li>
<a href="sql-ref-functions.html">
Functions
</a>
</li>
<li>
<a href="sql-ref-identifier.html">
Identifiers
</a>
</li>
<li>
<a href="sql-ref-identifier-clause.html">
IDENTIFIER clause
</a>
</li>
<li>
<a href="sql-ref-literals.html">
Literals
</a>
</li>
<li>
<a href="sql-ref-null-semantics.html">
Null Semantics
</a>
</li>
<li>
<a href="sql-ref-syntax.html">
SQL Syntax
</a>
</li>
</ul>
<li>
<a href="sql-error-conditions.html">
Error Conditions
</a>
</li>
</ul>
</div>
</div>
<input id="nav-trigger" class="nav-trigger" checked type="checkbox">
<label for="nav-trigger"></label>
<div class="content-with-sidebar mr-3" id="content">
<h1 class="title">Built-in Functions</h1>
<h3 id="aggregate-functions">Aggregate Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>any(expr)</td>
<td>Returns true if at least one value of `expr` is true.</td>
</tr>
<tr>
<td>any_value(expr[, isIgnoreNull])</td>
<td>Returns some value of `expr` for a group of rows.
If `isIgnoreNull` is true, returns only non-null values.</td>
</tr>
<tr>
<td>approx_count_distinct(expr[, relativeSD])</td>
<td>Returns the estimated cardinality by HyperLogLog++.
`relativeSD` defines the maximum relative standard deviation allowed.</td>
</tr>
<tr>
<td>approx_percentile(col, percentage [, accuracy])</td>
<td>Returns the approximate `percentile` of the numeric or
ansi interval column `col` which is the smallest value in the ordered `col` values (sorted
from least to greatest) such that no more than `percentage` of `col` values is less than
the value or equal to that value. The value of percentage must be between 0.0 and 1.0.
The `accuracy` parameter (default: 10000) is a positive numeric literal which controls
approximation accuracy at the cost of memory. Higher value of `accuracy` yields better
accuracy, `1.0/accuracy` is the relative error of the approximation.
When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0.
In this case, returns the approximate percentile array of column `col` at the given
percentage array.</td>
</tr>
<tr>
<td>approx_top_k(expr, k, maxItemsTracked)</td>
<td>Returns top k items with their frequency.
`k` An optional INTEGER literal greater than 0. If k is not specified, it defaults to 5.
`maxItemsTracked` An optional INTEGER literal greater than or equal to k. If maxItemsTracked is not specified, it defaults to 10000.</td>
</tr>
<tr>
<td>array_agg(expr)</td>
<td>Collects and returns a list of non-unique elements.</td>
</tr>
<tr>
<td>avg(expr)</td>
<td>Returns the mean calculated from values of a group.</td>
</tr>
<tr>
<td>bit_and(expr)</td>
<td>Returns the bitwise AND of all non-null input values, or null if none.</td>
</tr>
<tr>
<td>bit_or(expr)</td>
<td>Returns the bitwise OR of all non-null input values, or null if none.</td>
</tr>
<tr>
<td>bit_xor(expr)</td>
<td>Returns the bitwise XOR of all non-null input values, or null if none.</td>
</tr>
<tr>
<td>bitmap_construct_agg(child)</td>
<td>Returns a bitmap with the positions of the bits set from all the values from
the child expression. The child expression will most likely be bitmap_bit_position().</td>
</tr>
<tr>
<td>bitmap_or_agg(child)</td>
<td>Returns a bitmap that is the bitwise OR of all of the bitmaps from the child
expression. The input should be bitmaps created from bitmap_construct_agg().</td>
</tr>
<tr>
<td>bool_and(expr)</td>
<td>Returns true if all values of `expr` are true.</td>
</tr>
<tr>
<td>bool_or(expr)</td>
<td>Returns true if at least one value of `expr` is true.</td>
</tr>
<tr>
<td>collect_list(expr)</td>
<td>Collects and returns a list of non-unique elements.</td>
</tr>
<tr>
<td>collect_set(expr)</td>
<td>Collects and returns a set of unique elements.</td>
</tr>
<tr>
<td>corr(expr1, expr2)</td>
<td>Returns Pearson coefficient of correlation between a set of number pairs.</td>
</tr>
<tr>
<td>count(*)</td>
<td>Returns the total number of retrieved rows, including rows containing null.</td>
</tr>
<tr>
<td> count(expr[, expr...])</td>
<td>Returns the number of rows for which the supplied expression(s) are all non-null.</td>
</tr>
<tr>
<td> count(DISTINCT expr[, expr...])</td>
<td>Returns the number of rows for which the supplied expression(s) are unique and non-null.</td>
</tr>
<tr>
<td>count_if(expr)</td>
<td>Returns the number of `TRUE` values for the expression.</td>
</tr>
<tr>
<td>count_min_sketch(col, eps, confidence, seed)</td>
<td>Returns a count-min sketch of a column with the given esp,
confidence and seed. The result is an array of bytes, which can be deserialized to a
`CountMinSketch` before usage. Count-min sketch is a probabilistic data structure used for
cardinality estimation using sub-linear space.</td>
</tr>
<tr>
<td>covar_pop(expr1, expr2)</td>
<td>Returns the population covariance of a set of number pairs.</td>
</tr>
<tr>
<td>covar_samp(expr1, expr2)</td>
<td>Returns the sample covariance of a set of number pairs.</td>
</tr>
<tr>
<td>every(expr)</td>
<td>Returns true if all values of `expr` are true.</td>
</tr>
<tr>
<td>first(expr[, isIgnoreNull])</td>
<td>Returns the first value of `expr` for a group of rows.
If `isIgnoreNull` is true, returns only non-null values.</td>
</tr>
<tr>
<td>first_value(expr[, isIgnoreNull])</td>
<td>Returns the first value of `expr` for a group of rows.
If `isIgnoreNull` is true, returns only non-null values.</td>
</tr>
<tr>
<td>grouping(col)</td>
<td>indicates whether a specified column in a GROUP BY is aggregated or
not, returns 1 for aggregated or 0 for not aggregated in the result set.",</td>
</tr>
<tr>
<td>grouping_id([col1[, col2 ..]])</td>
<td>returns the level of grouping, equals to
`(grouping(c1) &lt;&lt; (n-1)) + (grouping(c2) &lt;&lt; (n-2)) + ... + grouping(cn)`</td>
</tr>
<tr>
<td>histogram_numeric(expr, nb)</td>
<td>Computes a histogram on numeric 'expr' using nb bins.
The return value is an array of (x,y) pairs representing the centers of the
histogram's bins. As the value of 'nb' is increased, the histogram approximation
gets finer-grained, but may yield artifacts around outliers. In practice, 20-40
histogram bins appear to work well, with more bins being required for skewed or
smaller datasets. Note that this function creates a histogram with non-uniform
bin widths. It offers no guarantees in terms of the mean-squared-error of the
histogram, but in practice is comparable to the histograms produced by the R/S-Plus
statistical computing packages. Note: the output type of the 'x' field in the return value is
propagated from the input value consumed in the aggregate function.</td>
</tr>
<tr>
<td>hll_sketch_agg(expr, lgConfigK)</td>
<td>Returns the HllSketch's updatable binary representation.
`lgConfigK` (optional) the log-base-2 of K, with K is the number of buckets or
slots for the HllSketch.</td>
</tr>
<tr>
<td>hll_union_agg(expr, allowDifferentLgConfigK)</td>
<td>Returns the estimated number of unique values.
`allowDifferentLgConfigK` (optional) Allow sketches with different lgConfigK values
to be unioned (defaults to false).</td>
</tr>
<tr>
<td>kurtosis(expr)</td>
<td>Returns the kurtosis value calculated from values of a group.</td>
</tr>
<tr>
<td>last(expr[, isIgnoreNull])</td>
<td>Returns the last value of `expr` for a group of rows.
If `isIgnoreNull` is true, returns only non-null values</td>
</tr>
<tr>
<td>last_value(expr[, isIgnoreNull])</td>
<td>Returns the last value of `expr` for a group of rows.
If `isIgnoreNull` is true, returns only non-null values</td>
</tr>
<tr>
<td>listagg(expr[, delimiter])[ WITHIN GROUP (ORDER BY key [ASC | DESC] [,...])]</td>
<td>Returns
the concatenation of non-NULL input values, separated by the delimiter ordered by key.
If all values are NULL, NULL is returned.</td>
</tr>
<tr>
<td>max(expr)</td>
<td>Returns the maximum value of `expr`.</td>
</tr>
<tr>
<td>max_by(x, y)</td>
<td>Returns the value of `x` associated with the maximum value of `y`.</td>
</tr>
<tr>
<td>mean(expr)</td>
<td>Returns the mean calculated from values of a group.</td>
</tr>
<tr>
<td>median(col)</td>
<td>Returns the median of numeric or ANSI interval column `col`.</td>
</tr>
<tr>
<td>min(expr)</td>
<td>Returns the minimum value of `expr`.</td>
</tr>
<tr>
<td>min_by(x, y)</td>
<td>Returns the value of `x` associated with the minimum value of `y`.</td>
</tr>
<tr>
<td>mode(col[, deterministic])</td>
<td>Returns the most frequent value for the values within `col`. NULL values are ignored. If all the values are NULL, or there are 0 rows, returns NULL.
When multiple values have the same greatest frequency then either any of values is returned if `deterministic` is false or is not defined, or the lowest value is returned if `deterministic` is true.</td>
</tr>
<tr>
<td> mode() WITHIN GROUP (ORDER BY col)</td>
<td>Returns the most frequent value for the values within `col` (specified in ORDER BY clause). NULL values are ignored.
If all the values are NULL, or there are 0 rows, returns NULL. When multiple values have the same greatest frequency only one value will be returned.
The value will be chosen based on sort direction. Return the smallest value if sort direction is asc or the largest value if sort direction is desc from multiple values with the same frequency.</td>
</tr>
<tr>
<td>percentile(col, percentage [, frequency])</td>
<td>Returns the exact percentile value of numeric
or ANSI interval column `col` at the given percentage. The value of percentage must be
between 0.0 and 1.0. The value of frequency should be positive integral</td>
</tr>
<tr>
<td> percentile(col, array(percentage1 [, percentage2]...) [, frequency])</td>
<td>Returns the exact
percentile value array of numeric column `col` at the given percentage(s). Each value
of the percentage array must be between 0.0 and 1.0. The value of frequency should be
positive integral</td>
</tr>
<tr>
<td>percentile_approx(col, percentage [, accuracy])</td>
<td>Returns the approximate `percentile` of the numeric or
ansi interval column `col` which is the smallest value in the ordered `col` values (sorted
from least to greatest) such that no more than `percentage` of `col` values is less than
the value or equal to that value. The value of percentage must be between 0.0 and 1.0.
The `accuracy` parameter (default: 10000) is a positive numeric literal which controls
approximation accuracy at the cost of memory. Higher value of `accuracy` yields better
accuracy, `1.0/accuracy` is the relative error of the approximation.
When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0.
In this case, returns the approximate percentile array of column `col` at the given
percentage array.</td>
</tr>
<tr>
<td>percentile_cont(percentage) WITHIN GROUP (ORDER BY col)</td>
<td>Return a percentile value based on a continuous distribution of numeric or ANSI interval column `col` at the given `percentage` (specified in ORDER BY clause).</td>
</tr>
<tr>
<td>percentile_disc(percentage) WITHIN GROUP (ORDER BY col)</td>
<td>Return a percentile value based on a discrete distribution of numeric or ANSI interval column `col` at the given `percentage` (specified in ORDER BY clause).</td>
</tr>
<tr>
<td>regr_avgx(y, x)</td>
<td>Returns the average of the independent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_avgy(y, x)</td>
<td>Returns the average of the dependent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_count(y, x)</td>
<td>Returns the number of non-null number pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_intercept(y, x)</td>
<td>Returns the intercept of the univariate linear regression line for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_r2(y, x)</td>
<td>Returns the coefficient of determination for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_slope(y, x)</td>
<td>Returns the slope of the linear regression line for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_sxx(y, x)</td>
<td>Returns REGR_COUNT(y, x) * VAR_POP(x) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_sxy(y, x)</td>
<td>Returns REGR_COUNT(y, x) * COVAR_POP(y, x) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>regr_syy(y, x)</td>
<td>Returns REGR_COUNT(y, x) * VAR_POP(y) for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td>
</tr>
<tr>
<td>skewness(expr)</td>
<td>Returns the skewness value calculated from values of a group.</td>
</tr>
<tr>
<td>some(expr)</td>
<td>Returns true if at least one value of `expr` is true.</td>
</tr>
<tr>
<td>std(expr)</td>
<td>Returns the sample standard deviation calculated from values of a group.</td>
</tr>
<tr>
<td>stddev(expr)</td>
<td>Returns the sample standard deviation calculated from values of a group.</td>
</tr>
<tr>
<td>stddev_pop(expr)</td>
<td>Returns the population standard deviation calculated from values of a group.</td>
</tr>
<tr>
<td>stddev_samp(expr)</td>
<td>Returns the sample standard deviation calculated from values of a group.</td>
</tr>
<tr>
<td>string_agg(expr[, delimiter])[ WITHIN GROUP (ORDER BY key [ASC | DESC] [,...])]</td>
<td>Returns
the concatenation of non-NULL input values, separated by the delimiter ordered by key.
If all values are NULL, NULL is returned.</td>
</tr>
<tr>
<td>sum(expr)</td>
<td>Returns the sum calculated from values of a group.</td>
</tr>
<tr>
<td>try_avg(expr)</td>
<td>Returns the mean calculated from values of a group and the result is null on overflow.</td>
</tr>
<tr>
<td>try_sum(expr)</td>
<td>Returns the sum calculated from values of a group and the result is null on overflow.</td>
</tr>
<tr>
<td>var_pop(expr)</td>
<td>Returns the population variance calculated from values of a group.</td>
</tr>
<tr>
<td>var_samp(expr)</td>
<td>Returns the sample variance calculated from values of a group.</td>
</tr>
<tr>
<td>variance(expr)</td>
<td>Returns the sample variance calculated from values of a group.</td>
</tr>
</tbody>
</table>
<h4 id="examples">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- any</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- any_value</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">any_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- approx_count_distinct</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_count_distinct</span><span class="p">(</span><span class="n">col1</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">approx_count_distinct</span><span class="p">(</span><span class="n">col1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- approx_percentile</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">6</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">9</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;01&#39;</span><span class="w"> </span><span class="n">SE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- approx_top_k</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">expr</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">10000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">expr</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">expr</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">approx_top_k</span><span class="p">(</span><span class="n">expr</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- array_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- avg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- bit_and</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bit_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- bit_or</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">bit_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- bit_xor</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_xor</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bit_xor</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- bitmap_construct_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_construct_agg</span><span class="p">(</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="n">col</span><span class="p">))),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_construct_agg</span><span class="p">(</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="n">col</span><span class="p">))),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">070000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_construct_agg</span><span class="p">(</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="n">col</span><span class="p">))),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_construct_agg</span><span class="p">(</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="n">col</span><span class="p">))),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">010000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="c1">-- bitmap_or_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_or_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;20&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;40&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_or_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">700000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_or_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="k">substring</span><span class="p">(</span><span class="n">hex</span><span class="p">(</span><span class="n">bitmap_or_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">100000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- bool_and</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- bool_or</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- collect_list</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- collect_set</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">collect_set</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">collect_set</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- corr</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">corr</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">corr</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">8660254037844387</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- count</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- count_if</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">count_if</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">count_if</span><span class="p">(((</span><span class="n">col</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">count_if</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">count_if</span><span class="p">((</span><span class="n">col</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- count_min_sketch</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">count_min_sketch</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">count_min_sketch</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">00000001000000000</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="c1">-- covar_pop</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">covar_pop</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">covar_pop</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- covar_samp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">covar_samp</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">covar_samp</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- every</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- first</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- first_value</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- grouping</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="k">grouping</span><span class="p">(</span><span class="n">name</span><span class="p">),</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Alice&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Bob&#39;</span><span class="p">)</span><span class="w"> </span><span class="n">people</span><span class="p">(</span><span class="n">age</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">cube</span><span class="p">(</span><span class="n">name</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----+--------------+--------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">name</span><span class="o">|</span><span class="k">grouping</span><span class="p">(</span><span class="n">name</span><span class="p">)</span><span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+--------------+--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+--------------+--------+</span>
<span class="c1">-- grouping_id</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">grouping_id</span><span class="p">(),</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">),</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">height</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Alice&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">165</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Bob&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">180</span><span class="p">)</span><span class="w"> </span><span class="n">people</span><span class="p">(</span><span class="n">age</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">height</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">cube</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">height</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">name</span><span class="o">|</span><span class="n">grouping_id</span><span class="p">()</span><span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">height</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"> </span><span class="mi">172</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span>
<span class="c1">-- histogram_numeric</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">histogram_numeric</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">histogram_numeric</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">....</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- hll_sketch_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- hll_union_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_union_agg</span><span class="p">(</span><span class="n">sketch</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">sketch</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">UNION</span><span class="w"> </span><span class="k">ALL</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">sketch</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_union_agg</span><span class="p">(</span><span class="n">sketch</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="c1">-- kurtosis</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|-</span><span class="mi">0</span><span class="p">.</span><span class="mi">7014368047529618</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">19432323191699075</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- last</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- last_value</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- listagg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">abc</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">LAST</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">cba</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">ab</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">aa</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">ab</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;, &#39;</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">listagg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- max</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">max</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">50</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">max</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">50</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- max_by</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">max_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">50</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">max_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- mean</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mean</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">mean</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mean</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">mean</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- median</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">median</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">median</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">median</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">median</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0-5&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- min</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">min</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">min</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- min_by</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">min_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">50</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">min_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- mode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="w"> </span><span class="k">DESC</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="k">mode</span><span class="p">()</span><span class="w"> </span><span class="n">WITHIN</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="p">(</span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- percentile</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">75</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">75</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">.</span><span class="mi">5</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0-5&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0 00:0...|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">-- percentile_approx</span>
<span class="s1">SELECT percentile_approx(col, array(0.5, 0.4, 0.1), 100) FROM VALUES (0), (1), (2), (10) AS tab(col);</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">|percentile_approx(col, array(0.5, 0.4, 0.1), 100)|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">| [1, 1, 0]|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">SELECT percentile_approx(col, 0.5, 100) FROM VALUES (0), (6), (7), (9), (10) AS tab(col);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|percentile_approx(col, 0.5, 100)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| 7|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT percentile_approx(col, 0.5, 100) FROM VALUES (INTERVAL &#39;</span><span class="mi">0</span><span class="s1">&#39; MONTH), (INTERVAL &#39;</span><span class="mi">1</span><span class="s1">&#39; MONTH), (INTERVAL &#39;</span><span class="mi">2</span><span class="s1">&#39; MONTH), (INTERVAL &#39;</span><span class="mi">10</span><span class="s1">&#39; MONTH) AS tab(col);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|percentile_approx(col, 0.5, 100)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| INTERVAL &#39;</span><span class="mi">1</span><span class="s1">&#39; MONTH|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT percentile_approx(col, array(0.5, 0.7), 100) FROM VALUES (INTERVAL &#39;</span><span class="mi">0</span><span class="s1">&#39; SECOND), (INTERVAL &#39;</span><span class="mi">1</span><span class="s1">&#39; SECOND), (INTERVAL &#39;</span><span class="mi">2</span><span class="s1">&#39; SECOND), (INTERVAL &#39;</span><span class="mi">10</span><span class="s1">&#39; SECOND) AS tab(col);</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">|percentile_approx(col, array(0.5, 0.7), 100)|</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">| [INTERVAL &#39;</span><span class="mi">01</span><span class="s1">&#39; SE...|</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">-- percentile_cont</span>
<span class="s1">SELECT percentile_cont(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (0), (10) AS tab(col);</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">|percentile_cont(0.25) WITHIN GROUP (ORDER BY col)|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">| 2.5|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">SELECT percentile_cont(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (INTERVAL &#39;</span><span class="mi">0</span><span class="s1">&#39; MONTH), (INTERVAL &#39;</span><span class="mi">10</span><span class="s1">&#39; MONTH) AS tab(col);</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">|percentile_cont(0.25) WITHIN GROUP (ORDER BY col)|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">| INTERVAL &#39;</span><span class="mi">0</span><span class="o">-</span><span class="mi">2</span><span class="s1">&#39; YE...|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">-- percentile_disc</span>
<span class="s1">SELECT percentile_disc(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (0), (10) AS tab(col);</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">|percentile_disc(0.25) WITHIN GROUP (ORDER BY col)|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">| 0.0|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">SELECT percentile_disc(0.25) WITHIN GROUP (ORDER BY col) FROM VALUES (INTERVAL &#39;</span><span class="mi">0</span><span class="s1">&#39; MONTH), (INTERVAL &#39;</span><span class="mi">10</span><span class="s1">&#39; MONTH) AS tab(col);</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">|percentile_disc(0.25) WITHIN GROUP (ORDER BY col)|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">| INTERVAL &#39;</span><span class="mi">0</span><span class="o">-</span><span class="mi">0</span><span class="s1">&#39; YE...|</span>
<span class="s1">+-------------------------------------------------+</span>
<span class="s1">-- regr_avgx</span>
<span class="s1">SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgx(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| 2.75|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgx(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgx(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgx(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgx(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgx(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| 3.0|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgx(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgx(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| 3.0|</span>
<span class="s1">+---------------+</span>
<span class="s1">-- regr_avgy</span>
<span class="s1">SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgy(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| 1.75|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgy(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgy(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgy(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgy(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_avgy(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|1.6666666666666667|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_avgy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+---------------+</span>
<span class="s1">|regr_avgy(y, x)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| 1.5|</span>
<span class="s1">+---------------+</span>
<span class="s1">-- regr_count</span>
<span class="s1">SELECT regr_count(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_count(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 4|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_count(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_count(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 0|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_count(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_count(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 0|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_count(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_count(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 3|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_count(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_count(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 2|</span>
<span class="s1">+----------------+</span>
<span class="s1">-- regr_intercept</span>
<span class="s1">SELECT regr_intercept(y, x) FROM VALUES (1, 1), (2, 2), (3, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|regr_intercept(y, x)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| 0.0|</span>
<span class="s1">+--------------------+</span>
<span class="s1">SELECT regr_intercept(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|regr_intercept(y, x)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------------+</span>
<span class="s1">SELECT regr_intercept(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|regr_intercept(y, x)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------------+</span>
<span class="s1">SELECT regr_intercept(y, x) FROM VALUES (1, 1), (2, null), (3, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|regr_intercept(y, x)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| 0.0|</span>
<span class="s1">+--------------------+</span>
<span class="s1">SELECT regr_intercept(y, x) FROM VALUES (1, 1), (2, null), (null, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|regr_intercept(y, x)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| 0.0|</span>
<span class="s1">+--------------------+</span>
<span class="s1">-- regr_r2</span>
<span class="s1">SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_r2(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|0.2727272727272726|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_r2(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+-------------+</span>
<span class="s1">|regr_r2(y, x)|</span>
<span class="s1">+-------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+-------------+</span>
<span class="s1">SELECT regr_r2(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+-------------+</span>
<span class="s1">|regr_r2(y, x)|</span>
<span class="s1">+-------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+-------------+</span>
<span class="s1">SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_r2(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|0.7500000000000001|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_r2(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+-------------+</span>
<span class="s1">|regr_r2(y, x)|</span>
<span class="s1">+-------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+-------------+</span>
<span class="s1">-- regr_slope</span>
<span class="s1">SELECT regr_slope(y, x) FROM VALUES (1, 1), (2, 2), (3, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_slope(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_slope(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_slope(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_slope(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_slope(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_slope(y, x) FROM VALUES (1, 1), (2, null), (3, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_slope(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+----------------+</span>
<span class="s1">SELECT regr_slope(y, x) FROM VALUES (1, 1), (2, null), (null, 3), (4, 4) AS tab(y, x);</span>
<span class="s1">+----------------+</span>
<span class="s1">|regr_slope(y, x)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+----------------+</span>
<span class="s1">-- regr_sxx</span>
<span class="s1">SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_sxx(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|2.7499999999999996|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_sxx(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxx(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxx(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxx(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxx(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 2.0|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxx(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxx(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 2.0|</span>
<span class="s1">+--------------+</span>
<span class="s1">-- regr_sxy</span>
<span class="s1">SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_sxy(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|0.7499999999999998|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_sxy(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxy(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_sxy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_sxy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+--------------+</span>
<span class="s1">-- regr_syy</span>
<span class="s1">SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, 2), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_syy(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|0.7499999999999999|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_syy(y, x) FROM VALUES (1, null) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_syy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_syy(y, x) FROM VALUES (null, 1) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_syy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, null), (2, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+------------------+</span>
<span class="s1">| regr_syy(y, x)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|0.6666666666666666|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT regr_syy(y, x) FROM VALUES (1, 2), (2, null), (null, 3), (2, 4) AS tab(y, x);</span>
<span class="s1">+--------------+</span>
<span class="s1">|regr_syy(y, x)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 0.5|</span>
<span class="s1">+--------------+</span>
<span class="s1">-- skewness</span>
<span class="s1">SELECT skewness(col) FROM VALUES (-10), (-20), (100), (1000) AS tab(col);</span>
<span class="s1">+------------------+</span>
<span class="s1">| skewness(col)|</span>
<span class="s1">+------------------+</span>
<span class="s1">|1.1135657469022013|</span>
<span class="s1">+------------------+</span>
<span class="s1">SELECT skewness(col) FROM VALUES (-1000), (-100), (10), (20) AS tab(col);</span>
<span class="s1">+-------------------+</span>
<span class="s1">| skewness(col)|</span>
<span class="s1">+-------------------+</span>
<span class="s1">|-1.1135657469022011|</span>
<span class="s1">+-------------------+</span>
<span class="s1">-- some</span>
<span class="s1">SELECT some(col) FROM VALUES (true), (false), (false) AS tab(col);</span>
<span class="s1">+---------+</span>
<span class="s1">|some(col)|</span>
<span class="s1">+---------+</span>
<span class="s1">| true|</span>
<span class="s1">+---------+</span>
<span class="s1">SELECT some(col) FROM VALUES (NULL), (true), (false) AS tab(col);</span>
<span class="s1">+---------+</span>
<span class="s1">|some(col)|</span>
<span class="s1">+---------+</span>
<span class="s1">| true|</span>
<span class="s1">+---------+</span>
<span class="s1">SELECT some(col) FROM VALUES (false), (false), (NULL) AS tab(col);</span>
<span class="s1">+---------+</span>
<span class="s1">|some(col)|</span>
<span class="s1">+---------+</span>
<span class="s1">| false|</span>
<span class="s1">+---------+</span>
<span class="s1">-- std</span>
<span class="s1">SELECT std(col) FROM VALUES (1), (2), (3) AS tab(col);</span>
<span class="s1">+--------+</span>
<span class="s1">|std(col)|</span>
<span class="s1">+--------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+--------+</span>
<span class="s1">-- stddev</span>
<span class="s1">SELECT stddev(col) FROM VALUES (1), (2), (3) AS tab(col);</span>
<span class="s1">+-----------+</span>
<span class="s1">|stddev(col)|</span>
<span class="s1">+-----------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+-----------+</span>
<span class="s1">-- stddev_pop</span>
<span class="s1">SELECT stddev_pop(col) FROM VALUES (1), (2), (3) AS tab(col);</span>
<span class="s1">+-----------------+</span>
<span class="s1">| stddev_pop(col)|</span>
<span class="s1">+-----------------+</span>
<span class="s1">|0.816496580927726|</span>
<span class="s1">+-----------------+</span>
<span class="s1">-- stddev_samp</span>
<span class="s1">SELECT stddev_samp(col) FROM VALUES (1), (2), (3) AS tab(col);</span>
<span class="s1">+----------------+</span>
<span class="s1">|stddev_samp(col)|</span>
<span class="s1">+----------------+</span>
<span class="s1">| 1.0|</span>
<span class="s1">+----------------+</span>
<span class="s1">-- string_agg</span>
<span class="s1">SELECT string_agg(col) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">b</span><span class="s1">&#39;), (&#39;</span><span class="k">c</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|string_agg(col, NULL)|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| abc|</span>
<span class="s1">+---------------------+</span>
<span class="s1">SELECT string_agg(col) WITHIN GROUP (ORDER BY col DESC) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">b</span><span class="s1">&#39;), (&#39;</span><span class="k">c</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+--------------------------------------------------------------+</span>
<span class="s1">|listagg(col, NULL) WITHIN GROUP (ORDER BY col DESC NULLS LAST)|</span>
<span class="s1">+--------------------------------------------------------------+</span>
<span class="s1">| cba|</span>
<span class="s1">+--------------------------------------------------------------+</span>
<span class="s1">SELECT string_agg(col) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (NULL), (&#39;</span><span class="n">b</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|string_agg(col, NULL)|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| ab|</span>
<span class="s1">+---------------------+</span>
<span class="s1">SELECT string_agg(col) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">a</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|string_agg(col, NULL)|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| aa|</span>
<span class="s1">+---------------------+</span>
<span class="s1">SELECT string_agg(DISTINCT col) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">b</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+------------------------------+</span>
<span class="s1">|string_agg(DISTINCT col, NULL)|</span>
<span class="s1">+------------------------------+</span>
<span class="s1">| ab|</span>
<span class="s1">+------------------------------+</span>
<span class="s1">SELECT string_agg(col, &#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;) FROM VALUES (&#39;</span><span class="n">a</span><span class="s1">&#39;), (&#39;</span><span class="n">b</span><span class="s1">&#39;), (&#39;</span><span class="k">c</span><span class="s1">&#39;) AS tab(col);</span>
<span class="s1">+-------------------+</span>
<span class="s1">|string_agg(col, , )|</span>
<span class="s1">+-------------------+</span>
<span class="s1">| a, b, c|</span>
<span class="s1">+-------------------+</span>
<span class="s1">SELECT string_agg(col) FROM VALUES (NULL), (NULL) AS tab(col);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|string_agg(col, NULL)|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------------+</span>
<span class="s1">-- sum</span>
<span class="s1">SELECT sum(col) FROM VALUES (5), (10), (15) AS tab(col);</span>
<span class="s1">+--------+</span>
<span class="s1">|sum(col)|</span>
<span class="s1">+--------+</span>
<span class="s1">| 30|</span>
<span class="s1">+--------+</span>
<span class="s1">SELECT sum(col) FROM VALUES (NULL), (10), (15) AS tab(col);</span>
<span class="s1">+--------+</span>
<span class="s1">|sum(col)|</span>
<span class="s1">+--------+</span>
<span class="s1">| 25|</span>
<span class="s1">+--------+</span>
<span class="s1">SELECT sum(col) FROM VALUES (NULL), (NULL) AS tab(col);</span>
<span class="s1">+--------+</span>
<span class="s1">|sum(col)|</span>
<span class="s1">+--------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+--------+</span>
<span class="s1">-- try_avg</span>
<span class="s1">SELECT try_avg(col) FROM VALUES (1), (2), (3) AS tab(col);</span>
<span class="s1">+------------+</span>
<span class="s1">|try_avg(col)|</span>
<span class="s1">+------------+</span>
<span class="s1">| 2.0|</span>
<span class="s1">+------------+</span>
<span class="s1">SELECT try_avg(col) FROM VALUES (1), (2), (NULL) AS tab(col);</span>
<span class="s1">+------------+</span>
<span class="s1">|try_avg(col)|</span>
<span class="s1">+------------+</span>
<span class="s1">| 1.5|</span>
<span class="s1">+------------+</span>
<span class="s1">SELECT try_avg(col) FROM VALUES (interval &#39;</span><span class="mi">2147483647</span><span class="w"> </span><span class="n">months</span><span class="s1">&#39;), (interval &#39;</span><span class="mi">1</span><span class="w"> </span><span class="n">months</span><span class="err">&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- try_sum</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">25</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">9223372036854775807</span><span class="n">L</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="n">L</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- var_pop</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">var_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">var_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- var_samp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">var_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">var_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- variance</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variance</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">variance</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
</code></pre></div>
<h3 id="window-functions">Window Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>cume_dist()</td>
<td>Computes the position of a value relative to all values in the partition.</td>
</tr>
<tr>
<td>dense_rank()</td>
<td>Computes the rank of a value in a group of values. The result is one plus the
previously assigned rank value. Unlike the function rank, dense_rank will not produce gaps
in the ranking sequence.</td>
</tr>
<tr>
<td>lag(input[, offset[, default]])</td>
<td>Returns the value of `input` at the `offset`th row
before the current row in the window. The default value of `offset` is 1 and the default
value of `default` is null. If the value of `input` at the `offset`th row is null,
null is returned. If there is no such offset row (e.g., when the offset is 1, the first
row of the window does not have any previous row), `default` is returned.</td>
</tr>
<tr>
<td>lead(input[, offset[, default]])</td>
<td>Returns the value of `input` at the `offset`th row
after the current row in the window. The default value of `offset` is 1 and the default
value of `default` is null. If the value of `input` at the `offset`th row is null,
null is returned. If there is no such an offset row (e.g., when the offset is 1, the last
row of the window does not have any subsequent row), `default` is returned.</td>
</tr>
<tr>
<td>nth_value(input[, offset])</td>
<td>Returns the value of `input` at the row that is the `offset`th row
from beginning of the window frame. Offset starts at 1. If ignoreNulls=true, we will skip
nulls when finding the `offset`th row. Otherwise, every row counts for the `offset`. If
there is no such an `offset`th row (e.g., when the offset is 10, size of the window frame
is less than 10), null is returned.</td>
</tr>
<tr>
<td>ntile(n)</td>
<td>Divides the rows for each window partition into `n` buckets ranging
from 1 to at most `n`.</td>
</tr>
<tr>
<td>percent_rank()</td>
<td>Computes the percentage ranking of a value in a group of values.</td>
</tr>
<tr>
<td>rank()</td>
<td>Computes the rank of a value in a group of values. The result is one plus the number
of rows preceding or equal to the current row in the ordering of the partition. The values
will produce gaps in the sequence.</td>
</tr>
<tr>
<td>row_number()</td>
<td>Assigns a unique, sequential number to each row, starting with one,
according to the ordering of rows within the window partition.</td>
</tr>
</tbody>
</table>
<h4 id="examples-1">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- cume_dist</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="n">RANGE</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- dense_rank</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">dense_rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">DENSE_RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- lag</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">lag</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">lag</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- lead</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">lead</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">lead</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- nth_value</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">nth_value</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">nth_value</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="n">RANGE</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- ntile</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">ntile</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">ntile</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- percent_rank</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">percent_rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">PERCENT_RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- rank</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- row_number</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span>
</code></pre></div>
<h3 id="array-functions">Array Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>array(expr, ...)</td>
<td>Returns an array with the given elements.</td>
</tr>
<tr>
<td>array_append(array, element)</td>
<td>Add the element at the end of the array passed as first
argument. Type of element should be similar to type of the elements of the array.
Null element is also appended into the array. But if the array passed, is NULL
output is NULL</td>
</tr>
<tr>
<td>array_compact(array)</td>
<td>Removes null values from the array.</td>
</tr>
<tr>
<td>array_contains(array, value)</td>
<td>Returns true if the array contains the value.</td>
</tr>
<tr>
<td>array_distinct(array)</td>
<td>Removes duplicate values from the array.</td>
</tr>
<tr>
<td>array_except(array1, array2)</td>
<td>Returns an array of the elements in array1 but not in array2,
without duplicates.</td>
</tr>
<tr>
<td>array_insert(x, pos, val)</td>
<td>Places val into index pos of array x.
Array indices start at 1. The maximum negative index is -1 for which the function inserts
new element after the current last element.
Index above array size appends the array, or prepends the array if index is negative,
with 'null' elements.</td>
</tr>
<tr>
<td>array_intersect(array1, array2)</td>
<td>Returns an array of the elements in the intersection of array1 and
array2, without duplicates.</td>
</tr>
<tr>
<td>array_join(array, delimiter[, nullReplacement])</td>
<td>Concatenates the elements of the given array
using the delimiter and an optional string to replace nulls. If no value is set for
nullReplacement, any null value is filtered.</td>
</tr>
<tr>
<td>array_max(array)</td>
<td>Returns the maximum value in the array. NaN is greater than
any non-NaN elements for double/float type. NULL elements are skipped.</td>
</tr>
<tr>
<td>array_min(array)</td>
<td>Returns the minimum value in the array. NaN is greater than
any non-NaN elements for double/float type. NULL elements are skipped.</td>
</tr>
<tr>
<td>array_position(array, element)</td>
<td>Returns the (1-based) index of the first matching element of
the array as long, or 0 if no match is found.</td>
</tr>
<tr>
<td>array_prepend(array, element)</td>
<td>Add the element at the beginning of the array passed as first
argument. Type of element should be the same as the type of the elements of the array.
Null element is also prepended to the array. But if the array passed is NULL
output is NULL</td>
</tr>
<tr>
<td>array_remove(array, element)</td>
<td>Remove all elements that equal to element from array.</td>
</tr>
<tr>
<td>array_repeat(element, count)</td>
<td>Returns the array containing element count times.</td>
</tr>
<tr>
<td>array_size(expr)</td>
<td>Returns the size of an array. The function returns null for null input.</td>
</tr>
<tr>
<td>array_union(array1, array2)</td>
<td>Returns an array of the elements in the union of array1 and array2,
without duplicates.</td>
</tr>
<tr>
<td>arrays_overlap(a1, a2)</td>
<td>Returns true if a1 contains at least a non-null element present also in a2. If the arrays have no common element and they are both non-empty and either of them contains a null element null is returned, false otherwise.</td>
</tr>
<tr>
<td>arrays_zip(a1, a2, ...)</td>
<td>Returns a merged array of structs in which the N-th struct contains all
N-th values of input arrays.</td>
</tr>
<tr>
<td>flatten(arrayOfArrays)</td>
<td>Transforms an array of arrays into a single array.</td>
</tr>
<tr>
<td>get(array, index)</td>
<td>Returns element of array at given (0-based) index. If the index points
outside of the array boundaries, then this function returns NULL.</td>
</tr>
<tr>
<td>sequence(start, stop, step)</td>
<td>Generates an array of elements from start to stop (inclusive),
incrementing by step. The type of the returned elements is the same as the type of argument
expressions.
Supported types are: byte, short, integer, long, date, timestamp.
The start and stop expressions must resolve to the same type.
If start and stop expressions resolve to the 'date' or 'timestamp' type
then the step expression must resolve to the 'interval' or 'year-month interval' or
'day-time interval' type, otherwise to the same type as the start and stop expressions.</td>
</tr>
<tr>
<td>shuffle(array)</td>
<td>Returns a random permutation of the given array.</td>
</tr>
<tr>
<td>slice(x, start, length)</td>
<td>Subsets array x starting from index start (array indices start at 1, or starting from the end if start is negative) with the specified length.</td>
</tr>
<tr>
<td>sort_array(array[, ascendingOrder])</td>
<td>Sorts the input array in ascending or descending order
according to the natural ordering of the array elements. NaN is greater than any non-NaN
elements for double/float type. Null elements will be placed at the beginning of the returned
array in ascending order or at the end of the returned array in descending order.</td>
</tr>
</tbody>
</table>
<h4 id="examples-2">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- array</span>
<span class="k">SELECT</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- array_append</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_append</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">array_append</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="n">d</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_append</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">array_append</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">N</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_append</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="k">null</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nb">Array</span><span class="o">&lt;</span><span class="nb">Int</span><span class="o">&gt;</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">array_append</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- array_compact</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_compact</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">array_compact</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_compact</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="ss">&quot;a&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;b&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;c&quot;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">array_compact</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="c1">-- array_contains</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_contains</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">array_contains</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- array_distinct</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_distinct</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">array_distinct</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="c1">-- array_except</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_except</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">array_except</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- array_insert</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">array_insert</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="c1">-- array_intersect</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_intersect</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">array_intersect</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- array_join</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;hello&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;world&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39; &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">hello</span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="p">),</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">hello</span><span class="w"> </span><span class="n">world</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;hello&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="p">,</span><span class="s1">&#39;world&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39; &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">hello</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="p">),</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">hello</span><span class="w"> </span><span class="n">world</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;hello&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="p">,</span><span class="s1">&#39;world&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39; &#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;,&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">hello</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="p">),</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">,)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">hello</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- array_max</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_max</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">array_max</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="c1">-- array_min</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_min</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">array_min</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="c1">-- array_position</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">312</span><span class="p">,</span><span class="w"> </span><span class="mi">773</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">),</span><span class="w"> </span><span class="mi">708</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">312</span><span class="p">,</span><span class="w"> </span><span class="mi">773</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">),</span><span class="w"> </span><span class="mi">708</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">312</span><span class="p">,</span><span class="w"> </span><span class="mi">773</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">),</span><span class="w"> </span><span class="mi">414</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">312</span><span class="p">,</span><span class="w"> </span><span class="mi">773</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">,</span><span class="w"> </span><span class="mi">708</span><span class="p">),</span><span class="w"> </span><span class="mi">414</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- array_prepend</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_prepend</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">array_prepend</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="n">d</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_prepend</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">array_prepend</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="n">N</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_prepend</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="k">null</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nb">Array</span><span class="o">&lt;</span><span class="nb">Int</span><span class="o">&gt;</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">array_prepend</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- array_remove</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_remove</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">array_remove</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- array_repeat</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_repeat</span><span class="p">(</span><span class="s1">&#39;123&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">array_repeat</span><span class="p">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="mi">123</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- array_size</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_size</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">array_size</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="c1">-- array_union</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_union</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">array_union</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- arrays_overlap</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_overlap</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">arrays_overlap</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- arrays_zip</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="c1">-- flatten</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">flatten</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">flatten</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- get</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">get</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- sequence</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2018-01-01&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2018-03-01&#39;</span><span class="p">),</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">month</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">,</span><span class="w"> </span><span class="mi">2018</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2018-01-01&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2018-03-01&#39;</span><span class="p">),</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="s1">&#39;0-1&#39;</span><span class="w"> </span><span class="k">year</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">month</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0-1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">,</span><span class="w"> </span><span class="mi">2018</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span>
<span class="c1">-- shuffle</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="c1">-- slice</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- sort_array</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="k">true</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="k">false</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
</code></pre></div>
<h3 id="collection-functions">Collection Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>aggregate(expr, start, merge, finish)</td>
<td>Applies a binary operator to an initial state and all
elements in the array, and reduces this to a single state. The final state is converted
into the final result by applying a finish function.</td>
</tr>
<tr>
<td>array_sort(expr, func)</td>
<td>Sorts the input array. If func is omitted, sort
in ascending order. The elements of the input array must be orderable.
NaN is greater than any non-NaN elements for double/float type.
Null elements will be placed at the end of the returned array.
Since 3.0.0 this function also sorts and returns the array based on the
given comparator function. The comparator will take two arguments representing
two elements of the array.
It returns a negative integer, 0, or a positive integer as the first element is less than,
equal to, or greater than the second element. If the comparator function returns null,
the function will fail and raise an error.</td>
</tr>
<tr>
<td>cardinality(expr)</td>
<td>Returns the size of an array or a map.
This function returns -1 for null input only if spark.sql.ansi.enabled is false and
spark.sql.legacy.sizeOfNull is true. Otherwise, it returns null for null input.
With the default settings, the function returns null for null input.</td>
</tr>
<tr>
<td>concat(col1, col2, ..., colN)</td>
<td>Returns the concatenation of col1, col2, ..., colN.</td>
</tr>
<tr>
<td>element_at(array, index)</td>
<td>Returns element of array at given (1-based) index. If Index is 0,
Spark will throw an error. If index &lt; 0, accesses elements from the last to the first.
The function returns NULL if the index exceeds the length of the array and
`spark.sql.ansi.enabled` is set to false.
If `spark.sql.ansi.enabled` is set to true, it throws ArrayIndexOutOfBoundsException
for invalid indices.</td>
</tr>
<tr>
<td> element_at(map, key)</td>
<td>Returns value for given key. The function returns NULL if the key is not
contained in the map.</td>
</tr>
<tr>
<td>exists(expr, pred)</td>
<td>Tests whether a predicate holds for one or more elements in the array.</td>
</tr>
<tr>
<td>filter(expr, func)</td>
<td>Filters the input array using the given predicate.</td>
</tr>
<tr>
<td>forall(expr, pred)</td>
<td>Tests whether a predicate holds for all elements in the array.</td>
</tr>
<tr>
<td>map_filter(expr, func)</td>
<td>Filters entries in a map using the function.</td>
</tr>
<tr>
<td>map_zip_with(map1, map2, function)</td>
<td>Merges two given maps into a single map by applying
function to the pair of values with the same key. For keys only presented in one map,
NULL will be passed as the value for the missing key. If an input map contains duplicated
keys, only the first entry of the duplicated key is passed into the lambda function.</td>
</tr>
<tr>
<td>reduce(expr, start, merge, finish)</td>
<td>Applies a binary operator to an initial state and all
elements in the array, and reduces this to a single state. The final state is converted
into the final result by applying a finish function.</td>
</tr>
<tr>
<td>reverse(array)</td>
<td>Returns a reversed string or an array with reverse order of elements.</td>
</tr>
<tr>
<td>size(expr)</td>
<td>Returns the size of an array or a map.
This function returns -1 for null input only if spark.sql.ansi.enabled is false and
spark.sql.legacy.sizeOfNull is true. Otherwise, it returns null for null input.
With the default settings, the function returns null for null input.</td>
</tr>
<tr>
<td>transform(expr, func)</td>
<td>Transforms elements in an array using the function.</td>
</tr>
<tr>
<td>transform_keys(expr, func)</td>
<td>Transforms elements in a map using the function.</td>
</tr>
<tr>
<td>transform_values(expr, func)</td>
<td>Transforms values in the map using the function.</td>
</tr>
<tr>
<td>try_element_at(array, index)</td>
<td>Returns element of array at given (1-based) index. If Index is 0,
Spark will throw an error. If index &lt; 0, accesses elements from the last to the first.
The function always returns NULL if the index exceeds the length of the array.</td>
</tr>
<tr>
<td> try_element_at(map, key)</td>
<td>Returns value for given key. The function always returns NULL
if the key is not contained in the map.</td>
</tr>
<tr>
<td>zip_with(left, right, func)</td>
<td>Merges the two given arrays, element-wise, into a single array using function. If one array is shorter, nulls are appended at the end to match the length of the longer array, before applying function.</td>
</tr>
</tbody>
</table>
<h4 id="examples-3">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- aggregate</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">aggregate</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">acc</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">x</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">aggregate</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">aggregate</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">acc</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">aggregate</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">60</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- array_sort</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">left</span><span class="p">,</span><span class="w"> </span><span class="k">right</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">end</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">())</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">())</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="p">,</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;bc&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;ab&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dc&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">left</span><span class="p">,</span><span class="w"> </span><span class="k">right</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">case</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="k">null</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">when</span><span class="w"> </span><span class="k">left</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="k">right</span><span class="w"> </span><span class="k">then</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">end</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">bc</span><span class="p">,</span><span class="w"> </span><span class="n">ab</span><span class="p">,</span><span class="w"> </span><span class="n">dc</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">))</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">())</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">())</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="p">,</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">dc</span><span class="p">,</span><span class="w"> </span><span class="n">bc</span><span class="p">,</span><span class="w"> </span><span class="n">ab</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">array_sort</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="k">IF</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="k">IF</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="k">IF</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="k">IF</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="k">IF</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)))))))))),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- cardinality</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">cardinality</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="k">cardinality</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">cardinality</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">cardinality</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- concat</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">concat</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">SparkSQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">6</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">concat</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">6</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="c1">-- element_at</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="c1">-- exists</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">exists</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------+</span>
<span class="c1">-- filter</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">i</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">filter</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- forall</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">forall</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- map_filter</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_filter</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">v</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">map_filter</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- map_zip_with</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_zip_with</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;x&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;y&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v1</span><span class="p">,</span><span class="w"> </span><span class="n">v2</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="n">v1</span><span class="p">,</span><span class="w"> </span><span class="n">v2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">map_zip_with</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="n">concat</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">ax</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">by</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_zip_with</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v1</span><span class="p">,</span><span class="w"> </span><span class="n">v2</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">coalesce</span><span class="p">(</span><span class="n">v1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="k">coalesce</span><span class="p">(</span><span class="n">v2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">map_zip_with</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="k">coalesce</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="k">coalesce</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="mi">0</span><span class="p">)),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- reduce</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reduce</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">acc</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">x</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">reduce</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reduce</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="n">acc</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">acc</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">reduce</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">60</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- reverse</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">reverse</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">LQS</span><span class="w"> </span><span class="n">krapS</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reverse</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">reverse</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- size</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">size</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">size</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">size</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="k">size</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- transform</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">transform</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">transform</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">transform</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">i</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">transform</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- transform_keys</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">transform_keys</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">transform_keys</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">transform_keys</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">v</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">transform_keys</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- transform_values</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">transform_values</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">v</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">transform_values</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">transform_values</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="p">(</span><span class="n">k</span><span class="p">,</span><span class="w"> </span><span class="n">v</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">k</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">v</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">transform_values</span><span class="p">(</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- try_element_at</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- zip_with</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">y</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">((</span><span class="n">namedlambdavariable</span><span class="p">()</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;e&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;f&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">zip_with</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="n">e</span><span class="p">,</span><span class="w"> </span><span class="n">f</span><span class="p">),</span><span class="w"> </span><span class="n">lambdafunction</span><span class="p">(</span><span class="n">concat</span><span class="p">(</span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">(),</span><span class="w"> </span><span class="n">namedlambdavariable</span><span class="p">()))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">ad</span><span class="p">,</span><span class="w"> </span><span class="n">be</span><span class="p">,</span><span class="w"> </span><span class="n">cf</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
</code></pre></div>
<h3 id="struct-functions">STRUCT Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>named_struct(name1, val1, name2, val2, ...)</td>
<td>Creates a struct with the given field names and values.</td>
</tr>
<tr>
<td>struct(col1, col2, col3, ...)</td>
<td>Creates a struct with the given field values.</td>
</tr>
</tbody>
</table>
<h4 id="examples-4">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- named_struct</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="ss">&quot;a&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;b&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;c&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="c1">-- struct</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
</code></pre></div>
<h3 id="map-functions">Map Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>map(key0, value0, key1, value1, ...)</td>
<td>Creates a map with the given key/value pairs.</td>
</tr>
<tr>
<td>map_concat(map, ...)</td>
<td>Returns the union of all the given maps</td>
</tr>
<tr>
<td>map_contains_key(map, key)</td>
<td>Returns true if the map contains the key.</td>
</tr>
<tr>
<td>map_entries(map)</td>
<td>Returns an unordered array of all entries in the given map.</td>
</tr>
<tr>
<td>map_from_arrays(keys, values)</td>
<td>Creates a map with a pair of the given key/value arrays. All elements
in keys should not be null</td>
</tr>
<tr>
<td>map_from_entries(arrayOfEntries)</td>
<td>Returns a map created from the given array of entries.</td>
</tr>
<tr>
<td>map_keys(map)</td>
<td>Returns an unordered array containing the keys of the map.</td>
</tr>
<tr>
<td>map_values(map)</td>
<td>Returns an unordered array containing the values of the map.</td>
</tr>
<tr>
<td>str_to_map(text[, pairDelim[, keyValueDelim]])</td>
<td>Creates a map after splitting the text into key/value pairs using delimiters. Default delimiters are ',' for `pairDelim` and ':' for `keyValueDelim`. Both `pairDelim` and `keyValueDelim` are treated as regular expressions.</td>
</tr>
</tbody>
</table>
<h4 id="examples-5">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- map</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;4&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- map_concat</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_concat</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;c&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">map_concat</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="c1">-- map_contains_key</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="c1">-- map_entries</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="err">}</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- map_from_arrays</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;4&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="c1">-- map_from_entries</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_entries</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">map_from_entries</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="n">b</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="c1">-- map_keys</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_keys</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">map_keys</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- map_values</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">map_values</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">map_values</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- str_to_map</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">&#39;a:1,b:2,c:3&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;,&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;:&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="n">b</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="k">c</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
</code></pre></div>
<h3 id="date-and-timestamp-functions">Date and Timestamp Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>add_months(start_date, num_months)</td>
<td>Returns the date that is `num_months` after `start_date`.</td>
</tr>
<tr>
<td>convert_timezone([sourceTz, ]targetTz, sourceTs)</td>
<td>Converts the timestamp without time zone `sourceTs` from the `sourceTz` time zone to `targetTz`.</td>
</tr>
<tr>
<td>curdate()</td>
<td>Returns the current date at the start of query evaluation. All calls of curdate within the same query return the same value.</td>
</tr>
<tr>
<td>current_date()</td>
<td>Returns the current date at the start of query evaluation. All calls of current_date within the same query return the same value.</td>
</tr>
<tr>
<td> current_date</td>
<td>Returns the current date at the start of query evaluation.</td>
</tr>
<tr>
<td>current_time([precision])</td>
<td>Returns the current time at the start of query evaluation.
All calls of current_time within the same query return the same value.</td>
</tr>
<tr>
<td> current_time</td>
<td>Returns the current time at the start of query evaluation.</td>
</tr>
<tr>
<td>current_timestamp()</td>
<td>Returns the current timestamp at the start of query evaluation. All calls of current_timestamp within the same query return the same value.</td>
</tr>
<tr>
<td> current_timestamp</td>
<td>Returns the current timestamp at the start of query evaluation.</td>
</tr>
<tr>
<td>current_timezone()</td>
<td>Returns the current session local timezone.</td>
</tr>
<tr>
<td>date_add(start_date, num_days)</td>
<td>Returns the date that is `num_days` after `start_date`.</td>
</tr>
<tr>
<td>date_diff(endDate, startDate)</td>
<td>Returns the number of days from `startDate` to `endDate`.</td>
</tr>
<tr>
<td>date_format(timestamp, fmt)</td>
<td>Converts `timestamp` to a value of string in the format specified by the date format `fmt`.</td>
</tr>
<tr>
<td>date_from_unix_date(days)</td>
<td>Create date from the number of days since 1970-01-01.</td>
</tr>
<tr>
<td>date_part(field, source)</td>
<td>Extracts a part of the date/timestamp or interval source.</td>
</tr>
<tr>
<td>date_sub(start_date, num_days)</td>
<td>Returns the date that is `num_days` before `start_date`.</td>
</tr>
<tr>
<td>date_trunc(fmt, ts)</td>
<td>Returns timestamp `ts` truncated to the unit specified by the format model `fmt`.</td>
</tr>
<tr>
<td>dateadd(start_date, num_days)</td>
<td>Returns the date that is `num_days` after `start_date`.</td>
</tr>
<tr>
<td>datediff(endDate, startDate)</td>
<td>Returns the number of days from `startDate` to `endDate`.</td>
</tr>
<tr>
<td>datepart(field, source)</td>
<td>Extracts a part of the date/timestamp or interval source.</td>
</tr>
<tr>
<td>day(date)</td>
<td>Returns the day of month of the date/timestamp.</td>
</tr>
<tr>
<td>dayname(date)</td>
<td>Returns the three-letter abbreviated day name from the given date.</td>
</tr>
<tr>
<td>dayofmonth(date)</td>
<td>Returns the day of month of the date/timestamp.</td>
</tr>
<tr>
<td>dayofweek(date)</td>
<td>Returns the day of the week for date/timestamp (1 = Sunday, 2 = Monday, ..., 7 = Saturday).</td>
</tr>
<tr>
<td>dayofyear(date)</td>
<td>Returns the day of year of the date/timestamp.</td>
</tr>
<tr>
<td>extract(field FROM source)</td>
<td>Extracts a part of the date or timestamp or time or interval source.</td>
</tr>
<tr>
<td>from_unixtime(unix_time[, fmt])</td>
<td>Returns `unix_time` in the specified `fmt`.</td>
</tr>
<tr>
<td>from_utc_timestamp(timestamp, timezone)</td>
<td>Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in UTC, and renders that time as a timestamp in the given time zone. For example, 'GMT+1' would yield '2017-07-14 03:40:00.0'.</td>
</tr>
<tr>
<td>hour(expr)</td>
<td>Returns the hour component of the given expression.
If `expr` is a TIMESTAMP or a string that can be cast to timestamp,
it returns the hour of that timestamp.
If `expr` is a TIME type (since 4.1.0), it returns the hour of the time-of-day.</td>
</tr>
<tr>
<td>last_day(date)</td>
<td>Returns the last day of the month which the date belongs to.</td>
</tr>
<tr>
<td>localtimestamp()</td>
<td>Returns the current timestamp without time zone at the start of query evaluation. All calls of localtimestamp within the same query return the same value.</td>
</tr>
<tr>
<td> localtimestamp</td>
<td>Returns the current local date-time at the session time zone at the start of query evaluation.</td>
</tr>
<tr>
<td>make_date(year, month, day)</td>
<td>Create date from year, month and day fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td>
</tr>
<tr>
<td>make_dt_interval([days[, hours[, mins[, secs]]]])</td>
<td>Make DayTimeIntervalType duration from days, hours, mins and secs.</td>
</tr>
<tr>
<td>make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])</td>
<td>Make interval from years, months, weeks, days, hours, mins and secs.</td>
</tr>
<tr>
<td>make_time(hour, minute, second)</td>
<td>Create time from hour, minute and second fields. For invalid inputs it will throw an error.</td>
</tr>
<tr>
<td>make_timestamp(year, month, day, hour, min, sec[, timezone])</td>
<td>Create timestamp from year, month, day, hour, min, sec and timezone fields. The result data type is consistent with the value of configuration `spark.sql.timestampType`. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td>
</tr>
<tr>
<td>make_timestamp_ltz(year, month, day, hour, min, sec[, timezone])</td>
<td>Create the current timestamp with local time zone from year, month, day, hour, min, sec and timezone fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td>
</tr>
<tr>
<td>make_timestamp_ntz(year, month, day, hour, min, sec)</td>
<td>Create local date-time from year, month, day, hour, min, sec fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td>
</tr>
<tr>
<td> make_timestamp_ntz(date, time)</td>
<td>Create a local date-time from date and time fields.</td>
</tr>
<tr>
<td>make_ym_interval([years[, months]])</td>
<td>Make year-month interval from years, months.</td>
</tr>
<tr>
<td>minute(expr)</td>
<td>Returns the minute component of the given expression.
If `expr` is a TIMESTAMP or a string that can be cast to timestamp,
it returns the minute of that timestamp.
If `expr` is a TIME type (since 4.1.0), it returns the minute of the time-of-day.</td>
</tr>
<tr>
<td>month(date)</td>
<td>Returns the month component of the date/timestamp.</td>
</tr>
<tr>
<td>monthname(date)</td>
<td>Returns the three-letter abbreviated month name from the given date.</td>
</tr>
<tr>
<td>months_between(timestamp1, timestamp2[, roundOff])</td>
<td>If `timestamp1` is later than `timestamp2`, then the result
is positive. If `timestamp1` and `timestamp2` are on the same day of month, or both
are the last day of month, time of day will be ignored. Otherwise, the difference is
calculated based on 31 days per month, and rounded to 8 digits unless roundOff=false.</td>
</tr>
<tr>
<td>next_day(start_date, day_of_week)</td>
<td>Returns the first date which is later than `start_date` and named as indicated.
The function returns NULL if at least one of the input parameters is NULL.
When both of the input parameters are not NULL and day_of_week is an invalid input,
the function throws SparkIllegalArgumentException if `spark.sql.ansi.enabled` is set to true, otherwise NULL.</td>
</tr>
<tr>
<td>now()</td>
<td>Returns the current timestamp at the start of query evaluation.</td>
</tr>
<tr>
<td>quarter(date)</td>
<td>Returns the quarter of the year for date, in the range 1 to 4.</td>
</tr>
<tr>
<td>second(expr)</td>
<td>Returns the second component of the given expression.
If `expr` is a TIMESTAMP or a string that can be cast to timestamp,
it returns the second of that timestamp.
If `expr` is a TIME type (since 4.1.0), it returns the second of the time-of-day.</td>
</tr>
<tr>
<td>session_window(time_column, gap_duration)</td>
<td>Generates session window given a timestamp specifying column and gap duration.
See <a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#types-of-time-windows">'Types of time windows'</a> in Structured Streaming guide doc for detailed explanation and examples.</td>
</tr>
<tr>
<td>timestamp_micros(microseconds)</td>
<td>Creates timestamp from the number of microseconds since UTC epoch.</td>
</tr>
<tr>
<td>timestamp_millis(milliseconds)</td>
<td>Creates timestamp from the number of milliseconds since UTC epoch.</td>
</tr>
<tr>
<td>timestamp_seconds(seconds)</td>
<td>Creates timestamp from the number of seconds (can be fractional) since UTC epoch.</td>
</tr>
<tr>
<td>to_date(date_str[, fmt])</td>
<td>Parses the `date_str` expression with the `fmt` expression to
a date. Returns null with invalid input. By default, it follows casting rules to a date if
the `fmt` is omitted.</td>
</tr>
<tr>
<td>to_time(str[, format])</td>
<td>Parses the `str` expression with the `format` expression to a time.
If `format` is malformed or its application does not result in a well formed time, the function
raises an error. By default, it follows casting rules to a time if the `format` is omitted.</td>
</tr>
<tr>
<td>to_timestamp(timestamp_str[, fmt])</td>
<td>Parses the `timestamp_str` expression with the `fmt` expression
to a timestamp. Returns null with invalid input. By default, it follows casting rules to
a timestamp if the `fmt` is omitted. The result data type is consistent with the value of
configuration `spark.sql.timestampType`.</td>
</tr>
<tr>
<td>to_timestamp_ltz(timestamp_str[, fmt])</td>
<td>Parses the `timestamp_str` expression with the `fmt` expression
to a timestamp with local time zone. Returns null with invalid input. By default, it follows casting rules to
a timestamp if the `fmt` is omitted.</td>
</tr>
<tr>
<td>to_timestamp_ntz(timestamp_str[, fmt])</td>
<td>Parses the `timestamp_str` expression with the `fmt` expression
to a timestamp without time zone. Returns null with invalid input. By default, it follows casting rules to
a timestamp if the `fmt` is omitted.</td>
</tr>
<tr>
<td>to_unix_timestamp(timeExp[, fmt])</td>
<td>Returns the UNIX timestamp of the given time.</td>
</tr>
<tr>
<td>to_utc_timestamp(timestamp, timezone)</td>
<td>Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in the given time zone, and renders that time as a timestamp in UTC. For example, 'GMT+1' would yield '2017-07-14 01:40:00.0'.</td>
</tr>
<tr>
<td>trunc(date, fmt)</td>
<td>Returns `date` with the time portion of the day truncated to the unit specified by the format model `fmt`.</td>
</tr>
<tr>
<td>try_make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])</td>
<td>This is a special version of `make_interval` that performs the same operation, but returns NULL when an overflow occurs.</td>
</tr>
<tr>
<td>try_make_timestamp(year, month, day, hour, min, sec[, timezone])</td>
<td>Try to create a timestamp from year, month, day, hour, min, sec and timezone fields. The result data type is consistent with the value of configuration `spark.sql.timestampType`. The function returns NULL on invalid inputs.</td>
</tr>
<tr>
<td>try_make_timestamp_ltz(year, month, day, hour, min, sec[, timezone])</td>
<td>Try to create the current timestamp with local time zone from year, month, day, hour, min, sec and timezone fields. The function returns NULL on invalid inputs.</td>
</tr>
<tr>
<td>try_make_timestamp_ntz(year, month, day, hour, min, sec)</td>
<td>Try to create local date-time from year, month, day, hour, min, sec fields. The function returns NULL on invalid inputs.</td>
</tr>
<tr>
<td> try_make_timestamp_ntz(date, time)</td>
<td>Create a local date-time from date and time fields.</td>
</tr>
<tr>
<td>try_to_time(str[, format])</td>
<td>Parses the `str` expression with the `format` expression to a time.
If `format` is malformed or its application does not result in a well formed time, the function
returns NULL. By default, it follows casting rules to a time if the `format` is omitted.</td>
</tr>
<tr>
<td>try_to_timestamp(timestamp_str[, fmt])</td>
<td>Parses the `timestamp_str` expression with the `fmt` expression
to a timestamp. The function always returns null on an invalid input with/without ANSI SQL
mode enabled. By default, it follows casting rules to a timestamp if the `fmt` is omitted.
The result data type is consistent with the value of configuration `spark.sql.timestampType`.</td>
</tr>
<tr>
<td>unix_date(date)</td>
<td>Returns the number of days since 1970-01-01.</td>
</tr>
<tr>
<td>unix_micros(timestamp)</td>
<td>Returns the number of microseconds since 1970-01-01 00:00:00 UTC.</td>
</tr>
<tr>
<td>unix_millis(timestamp)</td>
<td>Returns the number of milliseconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.</td>
</tr>
<tr>
<td>unix_seconds(timestamp)</td>
<td>Returns the number of seconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.</td>
</tr>
<tr>
<td>unix_timestamp([timeExp[, fmt]])</td>
<td>Returns the UNIX timestamp of current or specified time.</td>
</tr>
<tr>
<td>weekday(date)</td>
<td>Returns the day of the week for date/timestamp (0 = Monday, 1 = Tuesday, ..., 6 = Sunday).</td>
</tr>
<tr>
<td>weekofyear(date)</td>
<td>Returns the week of the year of the given date. A week is considered to start on a Monday and week 1 is the first week with &gt;3 days.</td>
</tr>
<tr>
<td>window(time_column, window_duration[, slide_duration[, start_time]])</td>
<td>Bucketize rows into one or more time windows given a timestamp specifying column.
Window starts are inclusive but the window ends are exclusive, e.g. 12:05 will be in the window [12:05,12:10) but not in [12:00,12:05).
Windows can support microsecond precision. Windows in the order of months are not supported.
See <a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#window-operations-on-event-time">'Window Operations on Event Time'</a> in Structured Streaming guide doc for detailed explanation and examples.</td>
</tr>
<tr>
<td>window_time(window_column)</td>
<td>Extract the time value from time/session window column which can be used for event time value of window.
The extracted time is (window.end - 1) which reflects the fact that the aggregating
windows have exclusive upper bound - [start, end)
See <a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#window-operations-on-event-time">'Window Operations on Event Time'</a> in Structured Streaming guide doc for detailed explanation and examples.</td>
</tr>
<tr>
<td>year(date)</td>
<td>Returns the year component of the date/timestamp.</td>
</tr>
</tbody>
</table>
<h4 id="examples-6">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- add_months</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">add_months</span><span class="p">(</span><span class="s1">&#39;2016-08-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">add_months</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">09</span><span class="o">-</span><span class="mi">30</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- convert_timezone</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">convert_timezone</span><span class="p">(</span><span class="s1">&#39;Europe/Brussels&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;America/Los_Angeles&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">timestamp_ntz</span><span class="s1">&#39;2021-12-06 00:00:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">convert_timezone</span><span class="p">(</span><span class="n">Europe</span><span class="o">/</span><span class="n">Brussels</span><span class="p">,</span><span class="w"> </span><span class="n">America</span><span class="o">/</span><span class="n">Los_Angeles</span><span class="p">,</span><span class="w"> </span><span class="n">TIMESTAMP_NTZ</span><span class="w"> </span><span class="s1">&#39;2021-12-06 00:00:00&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">convert_timezone</span><span class="p">(</span><span class="s1">&#39;Europe/Brussels&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">timestamp_ntz</span><span class="s1">&#39;2021-12-05 15:00:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">convert_timezone</span><span class="p">(</span><span class="n">current_timezone</span><span class="p">(),</span><span class="w"> </span><span class="n">Europe</span><span class="o">/</span><span class="n">Brussels</span><span class="p">,</span><span class="w"> </span><span class="n">TIMESTAMP_NTZ</span><span class="w"> </span><span class="s1">&#39;2021-12-05 15:00:00&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">16</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------+</span>
<span class="c1">-- curdate</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">curdate</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="k">current_date</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- current_date</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_date</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="k">current_date</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_date</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="k">current_date</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- current_time</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_time</span><span class="p">();</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">current_time</span><span class="p">(</span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:</span><span class="mi">24</span><span class="p">.</span><span class="mi">871076</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_time</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">current_time</span><span class="p">(</span><span class="mi">6</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:</span><span class="mi">24</span><span class="p">.</span><span class="mi">90617</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_time</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">current_time</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:</span><span class="mi">24</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_time</span><span class="p">(</span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">current_time</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:</span><span class="mi">24</span><span class="p">.</span><span class="mi">949</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_time</span><span class="p">(</span><span class="mi">1</span><span class="o">+</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="k">current_time</span><span class="p">((</span><span class="mi">1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:</span><span class="mi">24</span><span class="p">.</span><span class="mi">96</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- current_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- current_timezone</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">current_timezone</span><span class="p">();</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">current_timezone</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Etc</span><span class="o">/</span><span class="n">UTC</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- date_add</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_add</span><span class="p">(</span><span class="s1">&#39;2016-07-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">date_add</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- date_diff</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_diff</span><span class="p">(</span><span class="s1">&#39;2009-07-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">date_diff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_diff</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2009-07-31&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">date_diff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- date_format</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_format</span><span class="p">(</span><span class="s1">&#39;2016-04-08&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;y&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">date_format</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- date_from_unix_date</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_from_unix_date</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">date_from_unix_date</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- date_part</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;YEAR&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;week&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">week</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">33</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;doy&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">DATE</span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">doy</span><span class="p">,</span><span class="w"> </span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">224</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;SECONDS&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">SECONDS</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">000001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;days&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="n">minutes</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">days</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;5 03:07&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MINUTE</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;seconds&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="n">seconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">milliseconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">microseconds</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">seconds</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;05:00:30.001001&#39;</span><span class="w"> </span><span class="n">HOUR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="p">.</span><span class="mi">001001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;MONTH&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="k">MONTH</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">&#39;MINUTE&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="k">MINUTE</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">55</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="c1">-- date_sub</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_sub</span><span class="p">(</span><span class="s1">&#39;2016-07-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">date_sub</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">29</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- date_trunc</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">&#39;YEAR&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2015-03-05T09:32:05.359&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">&#39;MM&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2015-03-05T09:32:05.359&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">MM</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">&#39;DD&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2015-03-05T09:32:05.359&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">DD</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">&#39;HOUR&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2015-03-05T09:32:05.359&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">HOUR</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">&#39;MILLISECOND&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2015-03-05T09:32:05.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">MILLISECOND</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">123456</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">32</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="c1">-- dateadd</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">dateadd</span><span class="p">(</span><span class="s1">&#39;2016-07-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">date_add</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- datediff</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datediff</span><span class="p">(</span><span class="s1">&#39;2009-07-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">datediff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datediff</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2009-07-31&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">datediff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="c1">-- datepart</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;YEAR&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="k">YEAR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;week&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="n">week</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">33</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;doy&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">DATE</span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="n">doy</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">224</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;SECONDS&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="n">SECONDS</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">000001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;days&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="n">minutes</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="n">days</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;5 03:07&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MINUTE</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;seconds&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="n">seconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">milliseconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">microseconds</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="n">seconds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;05:00:30.001001&#39;</span><span class="w"> </span><span class="n">HOUR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="p">.</span><span class="mi">001001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;MONTH&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="k">MONTH</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">datepart</span><span class="p">(</span><span class="s1">&#39;MINUTE&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">datepart</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">55</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------+</span>
<span class="c1">-- day</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">day</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">day</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- dayname</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">dayname</span><span class="p">(</span><span class="nb">DATE</span><span class="p">(</span><span class="s1">&#39;2008-02-20&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">dayname</span><span class="p">(</span><span class="mi">2008</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">20</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Wed</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- dayofmonth</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">dayofmonth</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">dayofmonth</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- dayofweek</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">dayofweek</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">dayofweek</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- dayofyear</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">dayofyear</span><span class="p">(</span><span class="s1">&#39;2016-04-09&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">dayofyear</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">09</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">100</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- extract</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">YEAR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">YEAR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">week</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">week</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-08-12 01:00:00.123456&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">33</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">doy</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">DATE</span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">doy</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2019-08-12&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">224</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">SECONDS</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">SECONDS</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2019-10-01 00:00:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">000001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">days</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="n">minutes</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">days</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;5 03:07&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MINUTE</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">seconds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="n">seconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">milliseconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">microseconds</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">seconds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;05:00:30.001001&#39;</span><span class="w"> </span><span class="n">HOUR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="p">.</span><span class="mi">001001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">MONTH</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">MONTH</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2021-11&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;123 23:55:59.002001&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">55</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">HOUR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">time</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">HOUR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">time</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">SECOND</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">time</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">SECOND</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;09:08:01.000001&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">000001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- from_unixtime</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd HH:mm:ss&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="c1">-- from_utc_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_utc_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-08-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Asia/Seoul&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">from_utc_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">Asia</span><span class="o">/</span><span class="n">Seoul</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="c1">-- hour</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hour</span><span class="p">(</span><span class="s1">&#39;2018-02-14 12:58:59&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">hour</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">14</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hour</span><span class="p">(</span><span class="k">TIME</span><span class="s1">&#39;13:59:59.999999&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">hour</span><span class="p">(</span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;13:59:59.999999&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">13</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- last_day</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">last_day</span><span class="p">(</span><span class="s1">&#39;2009-01-12&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">last_day</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">12</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- localtimestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">localtimestamp</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">localtimestamp</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- make_date</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_date</span><span class="p">(</span><span class="mi">2013</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_date</span><span class="p">(</span><span class="mi">2013</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2013</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">15</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_date</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">make_date</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- make_dt_interval</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">01</span><span class="p">.</span><span class="mi">001001</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">001001</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1 12:30...|</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">SELECT make_dt_interval(2);</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">|make_dt_interval(2, 0, 0, 0.000000)|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">| INTERVAL &#39;</span><span class="mi">2</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- make_interval</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">01</span><span class="p">.</span><span class="mi">001001</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">001001</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="n">years</span><span class="w"> </span><span class="mi">11</span><span class="w"> </span><span class="n">mont</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">months</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">1</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- make_time</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_time</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">make_time</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_time</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_time</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- make_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CET&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="n">CET</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">59</span><span class="p">:</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="c1">-- make_timestamp_ltz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CET&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="n">CET</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ltz</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="c1">-- make_timestamp_ntz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="nb">DATE</span><span class="s1">&#39;2014-12-28&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIME</span><span class="s1">&#39;6:30:45.887&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2014-12-28&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;06:30:45.887&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="c1">-- make_ym_interval</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1-2&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1-0&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-0-11&#39;</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2-0&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- minute</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">minute</span><span class="p">(</span><span class="s1">&#39;2009-07-30 12:58:59&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="k">minute</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">58</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">minute</span><span class="p">(</span><span class="k">TIME</span><span class="s1">&#39;23:59:59.999999&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="k">minute</span><span class="p">(</span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;23:59:59.999999&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">59</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="c1">-- month</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">month</span><span class="p">(</span><span class="s1">&#39;2016-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="k">month</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- monthname</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">monthname</span><span class="p">(</span><span class="s1">&#39;2008-02-20&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">monthname</span><span class="p">(</span><span class="mi">2008</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">20</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Feb</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- months_between</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">months_between</span><span class="p">(</span><span class="s1">&#39;1997-02-28 10:30:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;1996-10-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="n">months_between</span><span class="p">(</span><span class="mi">1997</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">10</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="p">,</span><span class="w"> </span><span class="mi">1996</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">94959677</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">months_between</span><span class="p">(</span><span class="s1">&#39;1997-02-28 10:30:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;1996-10-30&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="n">months_between</span><span class="p">(</span><span class="mi">1997</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">10</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="p">,</span><span class="w"> </span><span class="mi">1996</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">9495967741935485</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="c1">-- next_day</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">next_day</span><span class="p">(</span><span class="s1">&#39;2015-01-14&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;TU&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">next_day</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="n">TU</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- now</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">now</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">now</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2025</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">08</span><span class="w"> </span><span class="mi">11</span><span class="p">:</span><span class="mi">34</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- quarter</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">quarter</span><span class="p">(</span><span class="s1">&#39;2016-08-31&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">quarter</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- second</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">second</span><span class="p">(</span><span class="s1">&#39;2018-02-14 12:58:59&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="k">second</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">14</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">59</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">second</span><span class="p">(</span><span class="k">TIME</span><span class="s1">&#39;13:25:59.999999&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="k">second</span><span class="p">(</span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;13:25:59.999999&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">59</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="c1">-- session_window</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:10:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:01:00&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;5 minutes&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">09</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">06</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:10:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:01:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;A1&#39;</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">&#39;5 minutes&#39;</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;A2&#39;</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">&#39;1 minute&#39;</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">&#39;10 minutes&#39;</span><span class="w"> </span><span class="k">END</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">09</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">02</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">04</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="c1">-- timestamp_micros</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_micros</span><span class="p">(</span><span class="mi">1230219000123123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">timestamp_micros</span><span class="p">(</span><span class="mi">1230219000123123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- timestamp_millis</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_millis</span><span class="p">(</span><span class="mi">1230219000123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">timestamp_millis</span><span class="p">(</span><span class="mi">1230219000123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- timestamp_seconds</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">.</span><span class="mi">123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">.</span><span class="mi">123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- to_date</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2016-12-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- to_time</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_time</span><span class="p">(</span><span class="s1">&#39;00:12:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">to_time</span><span class="p">(</span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_time</span><span class="p">(</span><span class="s1">&#39;12.10.05&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;HH.mm.ss&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">to_time</span><span class="p">(</span><span class="mi">12</span><span class="p">.</span><span class="mi">10</span><span class="p">.</span><span class="mi">05</span><span class="p">,</span><span class="w"> </span><span class="n">HH</span><span class="p">.</span><span class="n">mm</span><span class="p">.</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">05</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- to_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-12-31 00:12:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-12-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="c1">-- to_timestamp_ltz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp_ltz</span><span class="p">(</span><span class="s1">&#39;2016-12-31 00:12:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp_ltz</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp_ltz</span><span class="p">(</span><span class="s1">&#39;2016-12-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp_ltz</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- to_timestamp_ntz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp_ntz</span><span class="p">(</span><span class="s1">&#39;2016-12-31 00:12:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp_ntz</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_timestamp_ntz</span><span class="p">(</span><span class="s1">&#39;2016-12-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">to_timestamp_ntz</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- to_unix_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_unix_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-04-08&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">to_unix_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1460073600</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="c1">-- to_utc_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_utc_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-08-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Asia/Seoul&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">to_utc_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">Asia</span><span class="o">/</span><span class="n">Seoul</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- trunc</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">&#39;2019-08-04&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;week&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2019</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">04</span><span class="p">,</span><span class="w"> </span><span class="n">week</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">29</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">&#39;2019-08-04&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;quarter&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2019</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">04</span><span class="p">,</span><span class="w"> </span><span class="n">quarter</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">&#39;2009-02-12&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;MM&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="n">MM</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">&#39;2015-10-27&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;YEAR&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">27</span><span class="p">,</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- try_make_interval</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">01</span><span class="p">.</span><span class="mi">001001</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">001001</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="n">years</span><span class="w"> </span><span class="mi">11</span><span class="w"> </span><span class="n">mont</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">months</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">1</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">2147483647</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_interval</span><span class="p">(</span><span class="mi">2147483647</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="c1">-- try_make_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CET&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">59</span><span class="p">:</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- try_make_timestamp_ltz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CET&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="n">CET</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ltz</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- try_make_timestamp_ntz</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="mi">2024</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="nb">DATE</span><span class="s1">&#39;2014-12-28&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIME</span><span class="s1">&#39;6:30:45.887&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_make_timestamp_ntz</span><span class="p">(</span><span class="n">make_timestamp_ntz</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2014-12-28&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">TIME</span><span class="w"> </span><span class="s1">&#39;06:30:45.887&#39;</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="c1">-- try_to_time</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_time</span><span class="p">(</span><span class="s1">&#39;00:12:00.001&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">try_to_time</span><span class="p">(</span><span class="n">to_time</span><span class="p">(</span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">.</span><span class="mi">001</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">.</span><span class="mi">001</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_time</span><span class="p">(</span><span class="s1">&#39;12.10.05.999999&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;HH.mm.ss.SSSSSS&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_to_time</span><span class="p">(</span><span class="n">to_time</span><span class="p">(</span><span class="mi">12</span><span class="p">.</span><span class="mi">10</span><span class="p">.</span><span class="mi">05</span><span class="p">.</span><span class="mi">999999</span><span class="p">,</span><span class="w"> </span><span class="n">HH</span><span class="p">.</span><span class="n">mm</span><span class="p">.</span><span class="n">ss</span><span class="p">.</span><span class="n">SSSSSS</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">999999</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_time</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;HH:mm:ss&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">try_to_time</span><span class="p">(</span><span class="n">to_time</span><span class="p">(</span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="c1">-- try_to_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-12-31 00:12:00&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">12</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-12-31&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="s1">&#39;foo&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">try_to_timestamp</span><span class="p">(</span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- unix_date</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_date</span><span class="p">(</span><span class="nb">DATE</span><span class="p">(</span><span class="ss">&quot;1970-01-02&quot;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">unix_date</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- unix_micros</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_micros</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">&#39;1970-01-01 00:00:01Z&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">unix_micros</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- unix_millis</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_millis</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">&#39;1970-01-01 00:00:01Z&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">unix_millis</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- unix_seconds</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_seconds</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">&#39;1970-01-01 00:00:01Z&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">unix_seconds</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- unix_timestamp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_timestamp</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">unix_timestamp</span><span class="p">(</span><span class="k">current_timestamp</span><span class="p">(),</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1751974468</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">unix_timestamp</span><span class="p">(</span><span class="s1">&#39;2016-04-08&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">unix_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1460073600</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="c1">-- weekday</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">weekday</span><span class="p">(</span><span class="s1">&#39;2009-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">weekday</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- weekofyear</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">weekofyear</span><span class="p">(</span><span class="s1">&#39;2008-02-20&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">weekofyear</span><span class="p">(</span><span class="mi">2008</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">20</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- window</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:06:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:01:00&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;5 minutes&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:06:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:01:00&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;10 minutes&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;5 minutes&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2020</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">55</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2020</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">55</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span>
<span class="c1">-- window_time</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">end</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="n">window_time</span><span class="p">(</span><span class="n">window</span><span class="p">),</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="p">(</span><span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:04:30&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:06:00&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;A2&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:01:00&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;5 minutes&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+--------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="w"> </span><span class="n">window_time</span><span class="p">(</span><span class="n">window</span><span class="p">)</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+--------------------+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">04</span><span class="p">:...</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">09</span><span class="p">:...</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">04</span><span class="p">:...</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+-------------------+-------------------+--------------------+---+</span>
<span class="c1">-- year</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">year</span><span class="p">(</span><span class="s1">&#39;2016-07-30&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="k">year</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
</code></pre></div>
<h3 id="mathematical-functions">Mathematical Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>expr1 % expr2, or mod(expr1, expr2)</td>
<td>Returns the remainder after `expr1`/`expr2`.</td>
</tr>
<tr>
<td>expr1 * expr2</td>
<td>Returns `expr1`*`expr2`.</td>
</tr>
<tr>
<td>expr1 + expr2</td>
<td>Returns `expr1`+`expr2`.</td>
</tr>
<tr>
<td>expr1 - expr2</td>
<td>Returns `expr1`-`expr2`.</td>
</tr>
<tr>
<td>expr1 / expr2</td>
<td>Returns `expr1`/`expr2`. It always performs floating point division.</td>
</tr>
<tr>
<td>abs(expr)</td>
<td>Returns the absolute value of the numeric or interval value.</td>
</tr>
<tr>
<td>acos(expr)</td>
<td>Returns the inverse cosine (a.k.a. arc cosine) of `expr`, as if computed by
`java.lang.Math.acos`.</td>
</tr>
<tr>
<td>acosh(expr)</td>
<td>Returns inverse hyperbolic cosine of `expr`.</td>
</tr>
<tr>
<td>asin(expr)</td>
<td>Returns the inverse sine (a.k.a. arc sine) the arc sin of `expr`,
as if computed by `java.lang.Math.asin`.</td>
</tr>
<tr>
<td>asinh(expr)</td>
<td>Returns inverse hyperbolic sine of `expr`.</td>
</tr>
<tr>
<td>atan(expr)</td>
<td>Returns the inverse tangent (a.k.a. arc tangent) of `expr`, as if computed by
`java.lang.Math.atan`</td>
</tr>
<tr>
<td>atan2(exprY, exprX)</td>
<td>Returns the angle in radians between the positive x-axis of a plane
and the point given by the coordinates (`exprX`, `exprY`), as if computed by
`java.lang.Math.atan2`.</td>
</tr>
<tr>
<td>atanh(expr)</td>
<td>Returns inverse hyperbolic tangent of `expr`.</td>
</tr>
<tr>
<td>bin(expr)</td>
<td>Returns the string representation of the long value `expr` represented in binary.</td>
</tr>
<tr>
<td>bround(expr, d)</td>
<td>Returns `expr` rounded to `d` decimal places using HALF_EVEN rounding mode.</td>
</tr>
<tr>
<td>cbrt(expr)</td>
<td>Returns the cube root of `expr`.</td>
</tr>
<tr>
<td>ceil(expr[, scale])</td>
<td>Returns the smallest number after rounding up that is not smaller than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.</td>
</tr>
<tr>
<td>ceiling(expr[, scale])</td>
<td>Returns the smallest number after rounding up that is not smaller than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.</td>
</tr>
<tr>
<td>conv(num, from_base, to_base)</td>
<td>Convert `num` from `from_base` to `to_base`.</td>
</tr>
<tr>
<td>cos(expr)</td>
<td>Returns the cosine of `expr`, as if computed by
`java.lang.Math.cos`.</td>
</tr>
<tr>
<td>cosh(expr)</td>
<td>Returns the hyperbolic cosine of `expr`, as if computed by
`java.lang.Math.cosh`.</td>
</tr>
<tr>
<td>cot(expr)</td>
<td>Returns the cotangent of `expr`, as if computed by `1/java.lang.Math.tan`.</td>
</tr>
<tr>
<td>csc(expr)</td>
<td>Returns the cosecant of `expr`, as if computed by `1/java.lang.Math.sin`.</td>
</tr>
<tr>
<td>degrees(expr)</td>
<td>Converts radians to degrees.</td>
</tr>
<tr>
<td>expr1 div expr2</td>
<td>Divide `expr1` by `expr2`. It returns NULL if an operand is NULL or `expr2` is 0. The result is casted to long.</td>
</tr>
<tr>
<td>e()</td>
<td>Returns Euler's number, e.</td>
</tr>
<tr>
<td>exp(expr)</td>
<td>Returns e to the power of `expr`.</td>
</tr>
<tr>
<td>expm1(expr) - Returns exp(`expr`)</td>
<td>1.</td>
</tr>
<tr>
<td>factorial(expr)</td>
<td>Returns the factorial of `expr`. `expr` is [0..20]. Otherwise, null.</td>
</tr>
<tr>
<td>floor(expr[, scale])</td>
<td>Returns the largest number after rounding down that is not greater than `expr`. An optional `scale` parameter can be specified to control the rounding behavior.</td>
</tr>
<tr>
<td>greatest(expr, ...)</td>
<td>Returns the greatest value of all parameters, skipping null values.</td>
</tr>
<tr>
<td>hex(expr)</td>
<td>Converts `expr` to hexadecimal.</td>
</tr>
<tr>
<td>hypot(expr1, expr2)</td>
<td>Returns sqrt(`expr1`² + `expr2`²).</td>
</tr>
<tr>
<td>least(expr, ...)</td>
<td>Returns the least value of all parameters, skipping null values.</td>
</tr>
<tr>
<td>ln(expr)</td>
<td>Returns the natural logarithm (base e) of `expr`.</td>
</tr>
<tr>
<td>log(base, expr)</td>
<td>Returns the logarithm of `expr` with `base`.</td>
</tr>
<tr>
<td>log10(expr)</td>
<td>Returns the logarithm of `expr` with base 10.</td>
</tr>
<tr>
<td>log1p(expr)</td>
<td>Returns log(1 + `expr`).</td>
</tr>
<tr>
<td>log2(expr)</td>
<td>Returns the logarithm of `expr` with base 2.</td>
</tr>
<tr>
<td>expr1 % expr2, or mod(expr1, expr2)</td>
<td>Returns the remainder after `expr1`/`expr2`.</td>
</tr>
<tr>
<td>negative(expr)</td>
<td>Returns the negated value of `expr`.</td>
</tr>
<tr>
<td>pi()</td>
<td>Returns pi.</td>
</tr>
<tr>
<td>pmod(expr1, expr2)</td>
<td>Returns the positive value of `expr1` mod `expr2`.</td>
</tr>
<tr>
<td>positive(expr)</td>
<td>Returns the value of `expr`.</td>
</tr>
<tr>
<td>pow(expr1, expr2)</td>
<td>Raises `expr1` to the power of `expr2`.</td>
</tr>
<tr>
<td>power(expr1, expr2)</td>
<td>Raises `expr1` to the power of `expr2`.</td>
</tr>
<tr>
<td>radians(expr)</td>
<td>Converts degrees to radians.</td>
</tr>
<tr>
<td>rand([seed])</td>
<td>Returns a random value with independent and identically distributed (i.i.d.) uniformly distributed values in [0, 1).</td>
</tr>
<tr>
<td>randn([seed])</td>
<td>Returns a random value with independent and identically distributed (i.i.d.) values drawn from the standard normal distribution.</td>
</tr>
<tr>
<td>random([seed])</td>
<td>Returns a random value with independent and identically distributed (i.i.d.) uniformly distributed values in [0, 1).</td>
</tr>
<tr>
<td>rint(expr)</td>
<td>Returns the double value that is closest in value to the argument and is equal to a mathematical integer.</td>
</tr>
<tr>
<td>round(expr, d)</td>
<td>Returns `expr` rounded to `d` decimal places using HALF_UP rounding mode.</td>
</tr>
<tr>
<td>sec(expr)</td>
<td>Returns the secant of `expr`, as if computed by `1/java.lang.Math.cos`.</td>
</tr>
<tr>
<td>sign(expr)</td>
<td>Returns -1.0, 0.0 or 1.0 as `expr` is negative, 0 or positive.</td>
</tr>
<tr>
<td>signum(expr)</td>
<td>Returns -1.0, 0.0 or 1.0 as `expr` is negative, 0 or positive.</td>
</tr>
<tr>
<td>sin(expr)</td>
<td>Returns the sine of `expr`, as if computed by `java.lang.Math.sin`.</td>
</tr>
<tr>
<td>sinh(expr)</td>
<td>Returns hyperbolic sine of `expr`, as if computed by `java.lang.Math.sinh`.</td>
</tr>
<tr>
<td>sqrt(expr)</td>
<td>Returns the square root of `expr`.</td>
</tr>
<tr>
<td>tan(expr)</td>
<td>Returns the tangent of `expr`, as if computed by `java.lang.Math.tan`.</td>
</tr>
<tr>
<td>tanh(expr)</td>
<td>Returns the hyperbolic tangent of `expr`, as if computed by
`java.lang.Math.tanh`.</td>
</tr>
<tr>
<td>try_add(expr1, expr2)</td>
<td>Returns the sum of `expr1`and `expr2` and the result is null on overflow. The acceptable input types are the same with the `+` operator.</td>
</tr>
<tr>
<td>try_divide(dividend, divisor)</td>
<td>Returns `dividend`/`divisor`. It always performs floating point division. Its result is always null if `expr2` is 0. `dividend` must be a numeric or an interval. `divisor` must be a numeric.</td>
</tr>
<tr>
<td>try_mod(dividend, divisor)</td>
<td>Returns the remainder after `expr1`/`expr2`. `dividend` must be a numeric. `divisor` must be a numeric.</td>
</tr>
<tr>
<td>try_multiply(expr1, expr2)</td>
<td>Returns `expr1`*`expr2` and the result is null on overflow. The acceptable input types are the same with the `*` operator.</td>
</tr>
<tr>
<td>try_subtract(expr1, expr2)</td>
<td>Returns `expr1`-`expr2` and the result is null on overflow. The acceptable input types are the same with the `-` operator.</td>
</tr>
<tr>
<td>unhex(expr)</td>
<td>Converts hexadecimal `expr` to binary.</td>
</tr>
<tr>
<td>uniform(min, max[, seed])</td>
<td>Returns a random value with independent and identically
distributed (i.i.d.) values with the specified range of numbers. The random seed is optional.
The provided numbers specifying the minimum and maximum values of the range must be constant.
If both of these numbers are integers, then the result will also be an integer. Otherwise if
one or both of these are floating-point numbers, then the result will also be a floating-point
number.</td>
</tr>
<tr>
<td>width_bucket(value, min_value, max_value, num_bucket)</td>
<td>Returns the bucket number to which
`value` would be assigned in an equiwidth histogram with `num_bucket` buckets,
in the range `min_value` to `max_value`."</td>
</tr>
</tbody>
</table>
<h4 id="examples-7">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- %</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">MOD</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="k">mod</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- *</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">3</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- +</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- -</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- /</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="n">L</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="n">L</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- abs</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">abs</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="k">abs</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">abs</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="o">-</span><span class="s1">&#39;1-1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="k">abs</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-1-1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1-1&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- acos</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">acos</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">ACOS</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">acos</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">ACOS</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">NaN</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- acosh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">acosh</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ACOSH</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">acosh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ACOSH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">NaN</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- asin</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">asin</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">ASIN</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">asin</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">ASIN</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">NaN</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- asinh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">asinh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ASINH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- atan</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">atan</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">ATAN</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- atan2</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">atan2</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">ATAN2</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- atanh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">atanh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ATANH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">atanh</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ATANH</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">NaN</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- bin</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bin</span><span class="p">(</span><span class="mi">13</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">bin</span><span class="p">(</span><span class="mi">13</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1101</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bin</span><span class="p">(</span><span class="o">-</span><span class="mi">13</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">bin</span><span class="p">(</span><span class="o">-</span><span class="mi">13</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">11111111111111111</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bin</span><span class="p">(</span><span class="mi">13</span><span class="p">.</span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">bin</span><span class="p">(</span><span class="mi">13</span><span class="p">.</span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1101</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- bround</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bround</span><span class="p">(</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">bround</span><span class="p">(</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bround</span><span class="p">(</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">bround</span><span class="p">(</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- cbrt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">cbrt</span><span class="p">(</span><span class="mi">27</span><span class="p">.</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="n">CBRT</span><span class="p">(</span><span class="mi">27</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- ceil</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceil</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="n">CEIL</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceil</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">CEIL</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceil</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">ceil</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">142</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceil</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">ceil</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- ceiling</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceiling</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">ceiling</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceiling</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="n">ceiling</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceiling</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">ceiling</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">142</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ceiling</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">ceiling</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1000</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- conv</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">conv</span><span class="p">(</span><span class="s1">&#39;100&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">conv</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">conv</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">conv</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">16</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">16</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- cos</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">cos</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="n">COS</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- cosh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">cosh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">COSH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- cot</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">cot</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">COT</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">6420926159343306</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- csc</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">csc</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">CSC</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">1</span><span class="p">.</span><span class="mi">1883951057781212</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- degrees</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">degrees</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">141592653589793</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">DEGREES</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">141592653589793</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- div</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">div</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="n">div</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1-1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="w"> </span><span class="n">div</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-1&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">;</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1-1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="w"> </span><span class="n">div</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-1&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">13</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="c1">-- e</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">e</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">E</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="mi">2</span><span class="p">.</span><span class="mi">718281828459045</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- exp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">exp</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="n">EXP</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- expm1</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">expm1</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">EXPM1</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- factorial</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">factorial</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">factorial</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">120</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- floor</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">floor</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">FLOOR</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">floor</span><span class="p">(</span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">FLOOR</span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">floor</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">floor</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">141</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">floor</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">floor</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">1411</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- greatest</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">greatest</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">greatest</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- hex</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="mi">17</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="mi">17</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- hypot</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hypot</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">HYPOT</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- least</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">least</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">least</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="c1">-- ln</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ln</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="o">|</span><span class="n">ln</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="c1">-- log</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">log</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">LOG</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- log10</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">log10</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">LOG10</span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- log1p</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">log1p</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">LOG1P</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- log2</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">log2</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">LOG2</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- mod</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">MOD</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="k">mod</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- negative</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">negative</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">negative</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- pi</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">pi</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">PI</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="mi">3</span><span class="p">.</span><span class="mi">141592653589793</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- pmod</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">pmod</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">pmod</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">pmod</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">pmod</span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- positive</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">positive</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="o">|</span><span class="p">(</span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----+</span>
<span class="c1">-- pow</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">pow</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">pow</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- power</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">power</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">POWER</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- radians</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">radians</span><span class="p">(</span><span class="mi">180</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">RADIANS</span><span class="p">(</span><span class="mi">180</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="mi">3</span><span class="p">.</span><span class="mi">141592653589793</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- rand</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rand</span><span class="p">();</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">5605872036554872</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">7604953758285915</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">7604953758285915</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- randn</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">randn</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">randn</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">03375615076825031</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">randn</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">randn</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">1</span><span class="p">.</span><span class="mi">6034991609278433</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">randn</span><span class="p">(</span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">randn</span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">1</span><span class="p">.</span><span class="mi">6034991609278433</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- random</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">random</span><span class="p">();</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">4295019039654454</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">random</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">7604953758285915</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">random</span><span class="p">(</span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">rand</span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">7604953758285915</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- rint</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rint</span><span class="p">(</span><span class="mi">12</span><span class="p">.</span><span class="mi">3456</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">rint</span><span class="p">(</span><span class="mi">12</span><span class="p">.</span><span class="mi">3456</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- round</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">round</span><span class="p">(</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- sec</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sec</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="n">SEC</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- sign</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sign</span><span class="p">(</span><span class="mi">40</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">sign</span><span class="p">(</span><span class="mi">40</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sign</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="o">-</span><span class="s1">&#39;100&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">sign</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-100&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- signum</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">signum</span><span class="p">(</span><span class="mi">40</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="n">SIGNUM</span><span class="p">(</span><span class="mi">40</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">signum</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="o">-</span><span class="s1">&#39;100&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">SIGNUM</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;-100&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- sin</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sin</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="n">SIN</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- sinh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sinh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">SINH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- sqrt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sqrt</span><span class="p">(</span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">SQRT</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- tan</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">tan</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="n">TAN</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- tanh</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">tanh</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">TANH</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- try_add</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="mi">2147483647</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="mi">2147483647</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="nb">date</span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="nb">date</span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">year</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2022</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="k">timestamp</span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">day</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2021-01-01 00:00:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_add</span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">year</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">year</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">try_add</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;3&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="c1">-- try_divide</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_divide</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">try_divide</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_divide</span><span class="p">(</span><span class="mi">2</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="n">L</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">try_divide</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_divide</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">try_divide</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_divide</span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">month</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">try_divide</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0-1&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_divide</span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">month</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">try_divide</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">MONTH</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- try_mod</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_mod</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">try_mod</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_mod</span><span class="p">(</span><span class="mi">2</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="n">L</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">try_mod</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_mod</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">try_mod</span><span class="p">(</span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_mod</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">try_mod</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- try_multiply</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_multiply</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">try_multiply</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_multiply</span><span class="p">(</span><span class="o">-</span><span class="mi">2147483648</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">try_multiply</span><span class="p">(</span><span class="o">-</span><span class="mi">2147483648</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_multiply</span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">year</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">try_multiply</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;6-0&#39;</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="c1">-- try_subtract</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="o">-</span><span class="mi">2147483648</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="o">-</span><span class="mi">2147483648</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">date</span><span class="s1">&#39;2021-01-02&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2021-01-02&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">date</span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">year</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">DATE</span><span class="w"> </span><span class="s1">&#39;2021-01-01&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="k">timestamp</span><span class="s1">&#39;2021-01-02 00:00:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">day</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">&#39;2021-01-02 00:00:00&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">year</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">year</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_subtract</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;2&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="c1">-- unhex</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;UTF-8&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="p">),</span><span class="w"> </span><span class="n">UTF</span><span class="o">-</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="c1">-- uniform</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">uniform</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">result</span><span class="p">;</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="k">result</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------+</span>
<span class="c1">-- width_bucket</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="mi">5</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">.</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="mi">5</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">.</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="o">-</span><span class="mi">2</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="mi">8</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="mi">8</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="o">-</span><span class="mi">0</span><span class="p">.</span><span class="mi">9</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">.</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">width_bucket</span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">DAY</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
</code></pre></div>
<h3 id="string-functions">String Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>ascii(str)</td>
<td>Returns the numeric value of the first character of `str`.</td>
</tr>
<tr>
<td>base64(bin)</td>
<td>Converts the argument from a binary `bin` to a base 64 string.</td>
</tr>
<tr>
<td>bit_length(expr)</td>
<td>Returns the bit length of string data or number of bits of binary data.</td>
</tr>
<tr>
<td>btrim(str)</td>
<td>Removes the leading and trailing space characters from `str`.</td>
</tr>
<tr>
<td> btrim(str, trimStr)</td>
<td>Remove the leading and trailing `trimStr` characters from `str`.</td>
</tr>
<tr>
<td>char(expr)</td>
<td>Returns the ASCII character having the binary equivalent to `expr`. If n is larger than 256 the result is equivalent to chr(n % 256)</td>
</tr>
<tr>
<td>char_length(expr)</td>
<td>Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.</td>
</tr>
<tr>
<td>character_length(expr)</td>
<td>Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.</td>
</tr>
<tr>
<td>chr(expr)</td>
<td>Returns the ASCII character having the binary equivalent to `expr`. If n is larger than 256 the result is equivalent to chr(n % 256)</td>
</tr>
<tr>
<td>collate(expr, collationName)</td>
<td>Marks a given expression with the specified collation.</td>
</tr>
<tr>
<td>collation(expr)</td>
<td>Returns the collation name of a given expression.</td>
</tr>
<tr>
<td>concat_ws(sep[, str | array(str)]+)</td>
<td>Returns the concatenation of the strings separated by `sep`, skipping null values.</td>
</tr>
<tr>
<td>contains(left, right)</td>
<td>Returns a boolean. The value is True if right is found inside left.
Returns NULL if either input expression is NULL. Otherwise, returns False.
Both left or right must be of STRING or BINARY type.</td>
</tr>
<tr>
<td>decode(bin, charset)</td>
<td>Decodes the first argument using the second argument character set. If either argument is null, the result will also be null.</td>
</tr>
<tr>
<td> decode(expr, search, result [, search, result ] ... [, default])</td>
<td>Compares expr
to each search value in order. If expr is equal to a search value, decode returns
the corresponding result. If no match is found, then it returns default. If default
is omitted, it returns null.</td>
</tr>
<tr>
<td>elt(n, input1, input2, ...)</td>
<td>Returns the `n`-th input, e.g., returns `input2` when `n` is 2.
The function returns NULL if the index exceeds the length of the array
and `spark.sql.ansi.enabled` is set to false. If `spark.sql.ansi.enabled` is set to true,
it throws ArrayIndexOutOfBoundsException for invalid indices.</td>
</tr>
<tr>
<td>encode(str, charset)</td>
<td>Encodes the first argument using the second argument character set. If either argument is null, the result will also be null.</td>
</tr>
<tr>
<td>endswith(left, right)</td>
<td>Returns a boolean. The value is True if left ends with right.
Returns NULL if either input expression is NULL. Otherwise, returns False.
Both left or right must be of STRING or BINARY type.</td>
</tr>
<tr>
<td>find_in_set(str, str_array)</td>
<td>Returns the index (1-based) of the given string (`str`) in the comma-delimited list (`str_array`).
Returns 0, if the string was not found or if the given string (`str`) contains a comma.</td>
</tr>
<tr>
<td>format_number(expr1, expr2)</td>
<td>Formats the number `expr1` like '#,###,###.##', rounded to `expr2`
decimal places. If `expr2` is 0, the result has no decimal point or fractional part.
`expr2` also accept a user specified format.
This is supposed to function like MySQL's FORMAT.</td>
</tr>
<tr>
<td>format_string(strfmt, obj, ...)</td>
<td>Returns a formatted string from printf-style format strings.</td>
</tr>
<tr>
<td>initcap(str)</td>
<td>Returns `str` with the first letter of each word in uppercase.
All other letters are in lowercase. Words are delimited by white space.</td>
</tr>
<tr>
<td>instr(str, substr)</td>
<td>Returns the (1-based) index of the first occurrence of `substr` in `str`.</td>
</tr>
<tr>
<td>is_valid_utf8(str)</td>
<td>Returns true if `str` is a valid UTF-8 string, otherwise returns false.</td>
</tr>
<tr>
<td>lcase(str)</td>
<td>Returns `str` with all characters changed to lowercase.</td>
</tr>
<tr>
<td>left(str, len)</td>
<td>Returns the leftmost `len`(`len` can be string type) characters from the string `str`,if `len` is less or equal than 0 the result is an empty string.</td>
</tr>
<tr>
<td>len(expr)</td>
<td>Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.</td>
</tr>
<tr>
<td>length(expr)</td>
<td>Returns the character length of string data or number of bytes of binary data. The length of string data includes the trailing spaces. The length of binary data includes binary zeros.</td>
</tr>
<tr>
<td>levenshtein(str1, str2[, threshold])</td>
<td>Returns the Levenshtein distance between the two given strings. If threshold is set and distance more than it, return -1.</td>
</tr>
<tr>
<td>locate(substr, str[, pos])</td>
<td>Returns the position of the first occurrence of `substr` in `str` after position `pos`.
The given `pos` and return value are 1-based.</td>
</tr>
<tr>
<td>lower(str)</td>
<td>Returns `str` with all characters changed to lowercase.</td>
</tr>
<tr>
<td>lpad(str, len[, pad])</td>
<td>Returns `str`, left-padded with `pad` to a length of `len`.
If `str` is longer than `len`, the return value is shortened to `len` characters or bytes.
If `pad` is not specified, `str` will be padded to the left with space characters if it is
a character string, and with zeros if it is a byte sequence.</td>
</tr>
<tr>
<td>ltrim(str)</td>
<td>Removes the leading space characters from `str`.</td>
</tr>
<tr>
<td>luhn_check(str )</td>
<td>Checks that a string of digits is valid according to the Luhn algorithm.
This checksum function is widely applied on credit card numbers and government identification
numbers to distinguish valid numbers from mistyped, incorrect numbers.</td>
</tr>
<tr>
<td>make_valid_utf8(str)</td>
<td>Returns the original string if `str` is a valid UTF-8 string, otherwise returns a new string whose invalid UTF8 byte sequences are replaced using the UNICODE replacement character U+FFFD.</td>
</tr>
<tr>
<td>mask(input[, upperChar, lowerChar, digitChar, otherChar])</td>
<td>masks the given string value.
The function replaces characters with 'X' or 'x', and numbers with 'n'.
This can be useful for creating copies of tables with sensitive information removed.</td>
</tr>
<tr>
<td>octet_length(expr)</td>
<td>Returns the byte length of string data or number of bytes of binary data.</td>
</tr>
<tr>
<td>overlay(input, replace, pos[, len])</td>
<td>Replace `input` with `replace` that starts at `pos` and is of length `len`.</td>
</tr>
<tr>
<td>position(substr, str[, pos])</td>
<td>Returns the position of the first occurrence of `substr` in `str` after position `pos`.
The given `pos` and return value are 1-based.</td>
</tr>
<tr>
<td>printf(strfmt, obj, ...)</td>
<td>Returns a formatted string from printf-style format strings.</td>
</tr>
<tr>
<td>quote(str)</td>
<td>Returns `str` enclosed by single quotes and each instance of single quote in it is preceded by a backslash.</td>
</tr>
<tr>
<td>randstr(length[, seed])</td>
<td>Returns a string of the specified length whose characters are chosen
uniformly at random from the following pool of characters: 0-9, a-z, A-Z. The random seed is
optional. The string length must be a constant two-byte or four-byte integer (SMALLINT or INT,
respectively).</td>
</tr>
<tr>
<td>regexp_count(str, regexp)</td>
<td>Returns a count of the number of times that the regular expression pattern `regexp` is matched in the string `str`.</td>
</tr>
<tr>
<td>regexp_extract(str, regexp[, idx])</td>
<td>Extract the first string in the `str` that match the `regexp`
expression and corresponding to the regex group index.</td>
</tr>
<tr>
<td>regexp_extract_all(str, regexp[, idx])</td>
<td>Extract all strings in the `str` that match the `regexp`
expression and corresponding to the regex group index.</td>
</tr>
<tr>
<td>regexp_instr(str, regexp)</td>
<td>Searches a string for a regular expression and returns an integer that indicates the beginning position of the matched substring. Positions are 1-based, not 0-based. If no match is found, returns 0.</td>
</tr>
<tr>
<td>regexp_replace(str, regexp, rep[, position])</td>
<td>Replaces all substrings of `str` that match `regexp` with `rep`.</td>
</tr>
<tr>
<td>regexp_substr(str, regexp)</td>
<td>Returns the substring that matches the regular expression `regexp` within the string `str`. If the regular expression is not found, the result is null.</td>
</tr>
<tr>
<td>repeat(str, n)</td>
<td>Returns the string which repeats the given string value n times.</td>
</tr>
<tr>
<td>replace(str, search[, replace])</td>
<td>Replaces all occurrences of `search` with `replace`.</td>
</tr>
<tr>
<td>right(str, len)</td>
<td>Returns the rightmost `len`(`len` can be string type) characters from the string `str`,if `len` is less or equal than 0 the result is an empty string.</td>
</tr>
<tr>
<td>rpad(str, len[, pad])</td>
<td>Returns `str`, right-padded with `pad` to a length of `len`.
If `str` is longer than `len`, the return value is shortened to `len` characters.
If `pad` is not specified, `str` will be padded to the right with space characters if it is
a character string, and with zeros if it is a binary string.</td>
</tr>
<tr>
<td>rtrim(str)</td>
<td>Removes the trailing space characters from `str`.</td>
</tr>
<tr>
<td>sentences(str[, lang[, country]])</td>
<td>Splits `str` into an array of array of words.</td>
</tr>
<tr>
<td>soundex(str)</td>
<td>Returns Soundex code of the string.</td>
</tr>
<tr>
<td>space(n)</td>
<td>Returns a string consisting of `n` spaces.</td>
</tr>
<tr>
<td>split(str, regex, limit)</td>
<td>Splits `str` around occurrences that match `regex` and returns an array with a length of at most `limit`</td>
</tr>
<tr>
<td>split_part(str, delimiter, partNum)</td>
<td>Splits `str` by delimiter and return
requested part of the split (1-based). If any input is null, returns null.
if `partNum` is out of range of split parts, returns empty string. If `partNum` is 0,
throws an error. If `partNum` is negative, the parts are counted backward from the
end of the string. If the `delimiter` is an empty string, the `str` is not split.</td>
</tr>
<tr>
<td>startswith(left, right)</td>
<td>Returns a boolean. The value is True if left starts with right.
Returns NULL if either input expression is NULL. Otherwise, returns False.
Both left or right must be of STRING or BINARY type.</td>
</tr>
<tr>
<td>substr(str, pos[, len])</td>
<td>Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.</td>
</tr>
<tr>
<td> substr(str FROM pos[ FOR len]])</td>
<td>Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.</td>
</tr>
<tr>
<td>substring(str, pos[, len])</td>
<td>Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.</td>
</tr>
<tr>
<td> substring(str FROM pos[ FOR len]])</td>
<td>Returns the substring of `str` that starts at `pos` and is of length `len`, or the slice of byte array that starts at `pos` and is of length `len`.</td>
</tr>
<tr>
<td>substring_index(str, delim, count)</td>
<td>Returns the substring from `str` before `count` occurrences of the delimiter `delim`.
If `count` is positive, everything to the left of the final delimiter (counting from the
left) is returned. If `count` is negative, everything to the right of the final delimiter
(counting from the right) is returned. The function substring_index performs a case-sensitive match
when searching for `delim`.</td>
</tr>
<tr>
<td>to_binary(str[, fmt])</td>
<td>Converts the input `str` to a binary value based on the supplied `fmt`.
`fmt` can be a case-insensitive string literal of "hex", "utf-8", "utf8", or "base64".
By default, the binary format for conversion is "hex" if `fmt` is omitted.
The function returns NULL if at least one of the input parameters is NULL.</td>
</tr>
<tr>
<td>to_char(expr, format)</td>
<td>Convert `expr` to a string based on the `format`.
Throws an exception if the conversion fails. The format can consist of the following
characters, case insensitive:
'0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the format
string matches a sequence of digits in the input value, generating a result string of the
same length as the corresponding sequence in the format string. The result string is
left-padded with zeros if the 0/9 sequence comprises more digits than the matching part of
the decimal value, starts with 0, and is before the decimal point. Otherwise, it is
padded with spaces.
'.' or 'D': Specifies the position of the decimal point (optional, only allowed once).
',' or 'G': Specifies the position of the grouping (thousands) separator (,). There must be
a 0 or 9 to the left and right of each grouping separator.
'$': Specifies the location of the $ currency sign. This character may only be specified
once.
'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at
the beginning or end of the format string). Note that 'S' prints '+' for positive values
but 'MI' prints a space.
'PR': Only allowed at the end of the format string; specifies that the result string will be
wrapped by angle brackets if the input value is negative.
('&lt;1&gt;').
If `expr` is a datetime, `format` shall be a valid datetime pattern, see <a href="https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html">Datetime Patterns</a>.
If `expr` is a binary, it is converted to a string in one of the formats:
'base64': a base 64 string.
'hex': a string in the hexadecimal format.
'utf-8': the input binary is decoded to UTF-8 string.</td>
</tr>
<tr>
<td>to_number(expr, fmt)</td>
<td>Convert string 'expr' to a number based on the string format 'fmt'.
Throws an exception if the conversion fails. The format can consist of the following
characters, case insensitive:
'0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the format
string matches a sequence of digits in the input string. If the 0/9 sequence starts with
0 and is before the decimal point, it can only match a digit sequence of the same size.
Otherwise, if the sequence starts with 9 or is after the decimal point, it can match a
digit sequence that has the same or smaller size.
'.' or 'D': Specifies the position of the decimal point (optional, only allowed once).
',' or 'G': Specifies the position of the grouping (thousands) separator (,). There must be
a 0 or 9 to the left and right of each grouping separator. 'expr' must match the
grouping separator relevant for the size of the number.
'$': Specifies the location of the $ currency sign. This character may only be specified
once.
'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at
the beginning or end of the format string). Note that 'S' allows '-' but 'MI' does not.
'PR': Only allowed at the end of the format string; specifies that 'expr' indicates a
negative number with wrapping angled brackets.
('&lt;1&gt;').</td>
</tr>
<tr>
<td>to_varchar(expr, format)</td>
<td>Convert `expr` to a string based on the `format`.
Throws an exception if the conversion fails. The format can consist of the following
characters, case insensitive:
'0' or '9': Specifies an expected digit between 0 and 9. A sequence of 0 or 9 in the format
string matches a sequence of digits in the input value, generating a result string of the
same length as the corresponding sequence in the format string. The result string is
left-padded with zeros if the 0/9 sequence comprises more digits than the matching part of
the decimal value, starts with 0, and is before the decimal point. Otherwise, it is
padded with spaces.
'.' or 'D': Specifies the position of the decimal point (optional, only allowed once).
',' or 'G': Specifies the position of the grouping (thousands) separator (,). There must be
a 0 or 9 to the left and right of each grouping separator.
'$': Specifies the location of the $ currency sign. This character may only be specified
once.
'S' or 'MI': Specifies the position of a '-' or '+' sign (optional, only allowed once at
the beginning or end of the format string). Note that 'S' prints '+' for positive values
but 'MI' prints a space.
'PR': Only allowed at the end of the format string; specifies that the result string will be
wrapped by angle brackets if the input value is negative.
('&lt;1&gt;').
If `expr` is a datetime, `format` shall be a valid datetime pattern, see <a href="https://spark.apache.org/docs/latest/sql-ref-datetime-pattern.html">Datetime Patterns</a>.
If `expr` is a binary, it is converted to a string in one of the formats:
'base64': a base 64 string.
'hex': a string in the hexadecimal format.
'utf-8': the input binary is decoded to UTF-8 string.</td>
</tr>
<tr>
<td>translate(input, from, to)</td>
<td>Translates the `input` string by replacing the characters present in the `from` string with the corresponding characters in the `to` string.</td>
</tr>
<tr>
<td>trim(str)</td>
<td>Removes the leading and trailing space characters from `str`.</td>
</tr>
<tr>
<td> trim(BOTH FROM str)</td>
<td>Removes the leading and trailing space characters from `str`.</td>
</tr>
<tr>
<td> trim(LEADING FROM str)</td>
<td>Removes the leading space characters from `str`.</td>
</tr>
<tr>
<td> trim(TRAILING FROM str)</td>
<td>Removes the trailing space characters from `str`.</td>
</tr>
<tr>
<td> trim(trimStr FROM str)</td>
<td>Remove the leading and trailing `trimStr` characters from `str`.</td>
</tr>
<tr>
<td> trim(BOTH trimStr FROM str)</td>
<td>Remove the leading and trailing `trimStr` characters from `str`.</td>
</tr>
<tr>
<td> trim(LEADING trimStr FROM str)</td>
<td>Remove the leading `trimStr` characters from `str`.</td>
</tr>
<tr>
<td> trim(TRAILING trimStr FROM str)</td>
<td>Remove the trailing `trimStr` characters from `str`.</td>
</tr>
<tr>
<td>try_to_binary(str[, fmt])</td>
<td>This is a special version of `to_binary` that performs the same operation, but returns a NULL value instead of raising an error if the conversion cannot be performed.</td>
</tr>
<tr>
<td>try_to_number(expr, fmt)</td>
<td>Convert string 'expr' to a number based on the string format `fmt`.
Returns NULL if the string 'expr' does not match the expected format. The format follows the
same semantics as the to_number function.</td>
</tr>
<tr>
<td>try_validate_utf8(str)</td>
<td>Returns the original string if `str` is a valid UTF-8 string, otherwise returns NULL.</td>
</tr>
<tr>
<td>ucase(str)</td>
<td>Returns `str` with all characters changed to uppercase.</td>
</tr>
<tr>
<td>unbase64(str)</td>
<td>Converts the argument from a base 64 string `str` to a binary.</td>
</tr>
<tr>
<td>upper(str)</td>
<td>Returns `str` with all characters changed to uppercase.</td>
</tr>
<tr>
<td>validate_utf8(str)</td>
<td>Returns the original string if `str` is a valid UTF-8 string, otherwise throws an exception.</td>
</tr>
</tbody>
</table>
<h4 id="examples-8">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- ascii</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ascii</span><span class="p">(</span><span class="s1">&#39;222&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="n">ascii</span><span class="p">(</span><span class="mi">222</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">50</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ascii</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">ascii</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">50</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- base64</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">U3BhcmsgU1FM</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">U3BhcmsgU1FM</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="c1">-- bit_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">bit_length</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="k">bit_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">72</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">bit_length</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="k">bit_length</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">72</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- btrim</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">btrim</span><span class="p">(</span><span class="s1">&#39; SparkSQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">btrim</span><span class="p">(</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">SparkSQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">btrim</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39; SparkSQL &#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="n">btrim</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">SparkSQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">btrim</span><span class="p">(</span><span class="s1">&#39;SSparkSQLS&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">btrim</span><span class="p">(</span><span class="n">SSparkSQLS</span><span class="p">,</span><span class="w"> </span><span class="n">SL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">parkSQ</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">btrim</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;SSparkSQLS&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;SL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">btrim</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">SSparkSQLS</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="n">SL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">parkSQ</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="c1">-- char</span>
<span class="k">SELECT</span><span class="w"> </span><span class="nb">char</span><span class="p">(</span><span class="mi">65</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="nb">char</span><span class="p">(</span><span class="mi">65</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- char_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">char_length</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">char_length</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHAR_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHARACTER_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- character_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">character_length</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">character_length</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHAR_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHARACTER_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- chr</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">chr</span><span class="p">(</span><span class="mi">65</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="n">chr</span><span class="p">(</span><span class="mi">65</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- collate</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">COLLATION</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="w"> </span><span class="k">collate</span><span class="w"> </span><span class="n">UTF8_LCASE</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="k">collation</span><span class="p">(</span><span class="k">collate</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">UTF8_LCASE</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">SYSTEM</span><span class="p">.</span><span class="n">BUILTIN</span><span class="p">.</span><span class="n">UT</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="c1">-- collation</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">collation</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="k">collation</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="k">SYSTEM</span><span class="p">.</span><span class="n">BUILTIN</span><span class="p">.</span><span class="n">UT</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- concat_ws</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat_ws</span><span class="p">(</span><span class="s1">&#39; &#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">concat_ws</span><span class="p">(</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat_ws</span><span class="p">(</span><span class="s1">&#39;s&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">concat_ws</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat_ws</span><span class="p">(</span><span class="s1">&#39;/&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;foo&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;bar&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">concat_ws</span><span class="p">(</span><span class="o">/</span><span class="p">,</span><span class="w"> </span><span class="n">foo</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">bar</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">foo</span><span class="o">/</span><span class="n">bar</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat_ws</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">concat_ws</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- contains</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">contains</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="k">contains</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">contains</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SPARK&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="k">contains</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">SPARK</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">contains</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="k">contains</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">contains</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="s1">&#39;537061726b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="k">contains</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="s1">&#39;537061726B&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- decode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;abc&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">abc</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">abc</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Southlake&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;San Francisco&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;New Jersey&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Seattle&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Non domestic&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">Southlake</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">San</span><span class="w"> </span><span class="n">Francisco</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">New</span><span class="w"> </span><span class="n">Jersey</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">Seattle</span><span class="p">,</span><span class="w"> </span><span class="n">Non</span><span class="w"> </span><span class="n">domestic</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">San</span><span class="w"> </span><span class="n">Francisco</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Southlake&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;San Francisco&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;New Jersey&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Seattle&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Non domestic&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">Southlake</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">San</span><span class="w"> </span><span class="n">Francisco</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">New</span><span class="w"> </span><span class="n">Jersey</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">Seattle</span><span class="p">,</span><span class="w"> </span><span class="n">Non</span><span class="w"> </span><span class="n">domestic</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Non</span><span class="w"> </span><span class="n">domestic</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Southlake&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;San Francisco&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;New Jersey&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Seattle&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">Southlake</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">San</span><span class="w"> </span><span class="n">Francisco</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">New</span><span class="w"> </span><span class="n">Jersey</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">Seattle</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">decode</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;rocks&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">decode</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="n">rocks</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- elt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">elt</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;scala&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;java&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">elt</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">scala</span><span class="p">,</span><span class="w"> </span><span class="n">java</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">scala</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">elt</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">elt</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- encode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;abc&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">encode</span><span class="p">(</span><span class="n">abc</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">61</span><span class="w"> </span><span class="mi">62</span><span class="w"> </span><span class="mi">63</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- endswith</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">endswith</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">endswith</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">endswith</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">endswith</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">endswith</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="s1">&#39;537061726b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">endswith</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="s1">&#39;537061726B&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">endswith</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="s1">&#39;53514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">endswith</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="s1">&#39;53514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="c1">-- find_in_set</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">find_in_set</span><span class="p">(</span><span class="s1">&#39;ab&#39;</span><span class="p">,</span><span class="s1">&#39;abc,b,ab,c,def&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">find_in_set</span><span class="p">(</span><span class="n">ab</span><span class="p">,</span><span class="w"> </span><span class="n">abc</span><span class="p">,</span><span class="n">b</span><span class="p">,</span><span class="n">ab</span><span class="p">,</span><span class="k">c</span><span class="p">,</span><span class="n">def</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- format_number</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">format_number</span><span class="p">(</span><span class="mi">12332</span><span class="p">.</span><span class="mi">123456</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">format_number</span><span class="p">(</span><span class="mi">12332</span><span class="p">.</span><span class="mi">123456</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="mi">332</span><span class="p">.</span><span class="mi">1235</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">format_number</span><span class="p">(</span><span class="mi">12332</span><span class="p">.</span><span class="mi">123456</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;##################.###&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="n">format_number</span><span class="p">(</span><span class="mi">12332</span><span class="p">.</span><span class="mi">123456</span><span class="p">,</span><span class="w"> </span><span class="o">##################</span><span class="p">.</span><span class="o">###</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">12332</span><span class="p">.</span><span class="mi">123</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="c1">-- format_string</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">format_string</span><span class="p">(</span><span class="ss">&quot;Hello World %d %s&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;days&quot;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">format_string</span><span class="p">(</span><span class="n">Hello</span><span class="w"> </span><span class="n">World</span><span class="w"> </span><span class="o">%</span><span class="n">d</span><span class="w"> </span><span class="o">%</span><span class="n">s</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="n">days</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Hello</span><span class="w"> </span><span class="n">World</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="n">days</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- initcap</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">initcap</span><span class="p">(</span><span class="s1">&#39;sPark sql&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">initcap</span><span class="p">(</span><span class="n">sPark</span><span class="w"> </span><span class="k">sql</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="w"> </span><span class="k">Sql</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="c1">-- instr</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">instr</span><span class="p">(</span><span class="s1">&#39;SparkSQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">instr</span><span class="p">(</span><span class="n">SparkSQL</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- is_valid_utf8</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;61&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;61&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;80&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;80&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;61C262&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">is_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;61C262&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- lcase</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">lcase</span><span class="p">(</span><span class="s1">&#39;SparkSql&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">lcase</span><span class="p">(</span><span class="n">SparkSql</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sparksql</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- left</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">left</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="k">left</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spa</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">left</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="k">left</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="c1">-- len</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">len</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">len</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">len</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">len</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHAR_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHARACTER_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">length</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="k">length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">length</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="k">length</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHAR_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">char_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CHARACTER_LENGTH</span><span class="p">(</span><span class="s1">&#39;Spark SQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">character_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- levenshtein</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">levenshtein</span><span class="p">(</span><span class="s1">&#39;kitten&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sitting&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">levenshtein</span><span class="p">(</span><span class="n">kitten</span><span class="p">,</span><span class="w"> </span><span class="n">sitting</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">levenshtein</span><span class="p">(</span><span class="s1">&#39;kitten&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sitting&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">levenshtein</span><span class="p">(</span><span class="n">kitten</span><span class="p">,</span><span class="w"> </span><span class="n">sitting</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- locate</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">locate</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">locate</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">locate</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">locate</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">POSITION</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">locate</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- lower</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">lower</span><span class="p">(</span><span class="s1">&#39;SparkSql&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">lower</span><span class="p">(</span><span class="n">SparkSql</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sparksql</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- lpad</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">lpad</span><span class="p">(</span><span class="s1">&#39;hi&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;??&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">lpad</span><span class="p">(</span><span class="n">hi</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="o">??</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">???</span><span class="n">hi</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">lpad</span><span class="p">(</span><span class="s1">&#39;hi&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;??&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">lpad</span><span class="p">(</span><span class="n">hi</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="o">??</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">h</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">lpad</span><span class="p">(</span><span class="s1">&#39;hi&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">lpad</span><span class="p">(</span><span class="n">hi</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">hi</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">lpad</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;aabb&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">lpad</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="n">aabb</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="s1">&#39;00&#39;</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">000000</span><span class="n">AABB</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">lpad</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;aabb&#39;</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;1122&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">lpad</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="n">aabb</span><span class="p">),</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="mi">1122</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">112211</span><span class="n">AABB</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="c1">-- ltrim</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ltrim</span><span class="p">(</span><span class="s1">&#39; SparkSQL &#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">ltrim</span><span class="p">(</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- luhn_check</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">luhn_check</span><span class="p">(</span><span class="s1">&#39;8112189876&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">luhn_check</span><span class="p">(</span><span class="mi">8112189876</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">luhn_check</span><span class="p">(</span><span class="s1">&#39;79927398713&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">luhn_check</span><span class="p">(</span><span class="mi">79927398713</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">luhn_check</span><span class="p">(</span><span class="s1">&#39;79927398714&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">luhn_check</span><span class="p">(</span><span class="mi">79927398714</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- make_valid_utf8</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;61&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;61&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;80&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;80&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">ďż˝</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;61C262&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">make_valid_utf8</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;61C262&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="err">ďż˝</span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- mask</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;abcd-EFGH-8765-4321&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">abcd</span><span class="o">-</span><span class="n">EFGH</span><span class="o">-</span><span class="mi">8765</span><span class="o">-</span><span class="mi">4321</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">xxxx</span><span class="o">-</span><span class="n">XXXX</span><span class="o">-</span><span class="n">nnnn</span><span class="o">-</span><span class="n">nnnn</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;abcd-EFGH-8765-4321&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">abcd</span><span class="o">-</span><span class="n">EFGH</span><span class="o">-</span><span class="mi">8765</span><span class="o">-</span><span class="mi">4321</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">xxxx</span><span class="o">-</span><span class="n">QQQQ</span><span class="o">-</span><span class="n">nnnn</span><span class="o">-</span><span class="n">nnnn</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;q&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">QqQQnnn</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">XxXXnnn</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">QxQQnnn</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;q&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">QqQQnnn</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">QqQQddd</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;Q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;o&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="n">Q</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="n">o</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">QqQQdddoooo</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;q&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;o&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="n">o</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AqCDdddoooo</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;d&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;o&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="n">o</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AbCDdddoooo</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;o&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">o</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AbCD123oooo</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;o&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">o</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">X</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">mask</span><span class="p">(</span><span class="s1">&#39;AbCD123-@$#&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="n">mask</span><span class="p">(</span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AbCD123</span><span class="o">-@</span><span class="err">$</span><span class="o">#|</span>
<span class="o">+</span><span class="c1">-----------------------------------------+</span>
<span class="c1">-- octet_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">octet_length</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">octet_length</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">octet_length</span><span class="p">(</span><span class="n">x</span><span class="s1">&#39;537061726b2053514c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="k">octet_length</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;537061726B2053514C&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">9</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="c1">-- overlay</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="s1">&#39;_&#39;</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">6</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark_SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="s1">&#39;CORE&#39;</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">7</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">CORE</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="w"> </span><span class="n">CORE</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="s1">&#39;ANSI &#39;</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">ANSI</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Spark</span><span class="w"> </span><span class="n">ANSI</span><span class="w"> </span><span class="k">SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="s1">&#39;tructured&#39;</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">tructured</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Structured</span><span class="w"> </span><span class="k">SQL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;_&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">6</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="n">_</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">5</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;CORE&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">7</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="n">CORE</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">2</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;ANSI &#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="n">ANSI</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">2</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">PLACING</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="s1">&#39;tructured&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;utf-8&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="k">FOR</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="k">overlay</span><span class="p">(</span><span class="n">encode</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="n">encode</span><span class="p">(</span><span class="n">tructured</span><span class="p">,</span><span class="w"> </span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">74</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">75</span><span class="w"> </span><span class="mi">63</span><span class="w"> </span><span class="mi">7</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="c1">-- position</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">position</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="k">position</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">position</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="k">position</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">POSITION</span><span class="p">(</span><span class="s1">&#39;bar&#39;</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="s1">&#39;foobarbar&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">locate</span><span class="p">(</span><span class="n">bar</span><span class="p">,</span><span class="w"> </span><span class="n">foobarbar</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- printf</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">printf</span><span class="p">(</span><span class="ss">&quot;Hello World %d %s&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;days&quot;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">printf</span><span class="p">(</span><span class="n">Hello</span><span class="w"> </span><span class="n">World</span><span class="w"> </span><span class="o">%</span><span class="n">d</span><span class="w"> </span><span class="o">%</span><span class="n">s</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="n">days</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">Hello</span><span class="w"> </span><span class="n">World</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="n">days</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="c1">-- quote</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">quote</span><span class="p">(</span><span class="s1">&#39;Don\&#39;</span><span class="n">t</span><span class="s1">&#39;);</span>
<span class="s1">+------------+</span>
<span class="s1">|quote(Don&#39;</span><span class="n">t</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="s1">&#39;Don\&#39;</span><span class="n">t</span><span class="s1">&#39;|</span>
<span class="s1">+------------+</span>
<span class="s1">-- randstr</span>
<span class="s1">SELECT randstr(3, 0) AS result;</span>
<span class="s1">+------+</span>
<span class="s1">|result|</span>
<span class="s1">+------+</span>
<span class="s1">| ceV|</span>
<span class="s1">+------+</span>
<span class="s1">-- regexp_count</span>
<span class="s1">SELECT regexp_count(&#39;</span><span class="n">Steven</span><span class="w"> </span><span class="n">Jones</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">Stephen</span><span class="w"> </span><span class="n">Smith</span><span class="w"> </span><span class="k">are</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">best</span><span class="w"> </span><span class="n">players</span><span class="s1">&#39;, &#39;</span><span class="n">Ste</span><span class="p">(</span><span class="n">v</span><span class="o">|</span><span class="n">ph</span><span class="p">)</span><span class="n">en</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------------------------------------------------------------+</span>
<span class="s1">|regexp_count(Steven Jones and Stephen Smith are the best players, Ste(v|ph)en)|</span>
<span class="s1">+------------------------------------------------------------------------------+</span>
<span class="s1">| 2|</span>
<span class="s1">+------------------------------------------------------------------------------+</span>
<span class="s1">SELECT regexp_count(&#39;</span><span class="n">abcdefghijklmnopqrstuvwxyz</span><span class="s1">&#39;, &#39;</span><span class="p">[</span><span class="n">a</span><span class="o">-</span><span class="n">z</span><span class="p">]</span><span class="err">{</span><span class="mi">3</span><span class="err">}</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">|regexp_count(abcdefghijklmnopqrstuvwxyz, [a-z]{3})|</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">| 8|</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">-- regexp_extract</span>
<span class="s1">SELECT regexp_extract(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="s1">&#39;, &#39;</span><span class="p">(</span><span class="err">\\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="o">-</span><span class="p">(</span><span class="err">\\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, 1);</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">|regexp_extract(100-200, (\d+)-(\d+), 1)|</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">| 100|</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">SELECT regexp_extract(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="s1">&#39;, r&#39;</span><span class="p">(</span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="o">-</span><span class="p">(</span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, 1);</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">|regexp_extract(100-200, (\d+)-(\d+), 1)|</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">| 100|</span>
<span class="s1">+---------------------------------------+</span>
<span class="s1">-- regexp_extract_all</span>
<span class="s1">SELECT regexp_extract_all(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="p">,</span><span class="w"> </span><span class="mi">300</span><span class="o">-</span><span class="mi">400</span><span class="s1">&#39;, &#39;</span><span class="p">(</span><span class="err">\\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="o">-</span><span class="p">(</span><span class="err">\\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, 1);</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">|regexp_extract_all(100-200, 300-400, (\d+)-(\d+), 1)|</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">| [100, 300]|</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">SELECT regexp_extract_all(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="p">,</span><span class="w"> </span><span class="mi">300</span><span class="o">-</span><span class="mi">400</span><span class="s1">&#39;, r&#39;</span><span class="p">(</span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="o">-</span><span class="p">(</span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, 1);</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">|regexp_extract_all(100-200, 300-400, (\d+)-(\d+), 1)|</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">| [100, 300]|</span>
<span class="s1">+----------------------------------------------------+</span>
<span class="s1">-- regexp_instr</span>
<span class="s1">SELECT regexp_instr(r&quot;\abc&quot;, r&quot;^\\abc$&quot;);</span>
<span class="s1">+------------------------------+</span>
<span class="s1">|regexp_instr(\abc, ^\\abc$, 0)|</span>
<span class="s1">+------------------------------+</span>
<span class="s1">| 1|</span>
<span class="s1">+------------------------------+</span>
<span class="s1">SELECT regexp_instr(&#39;</span><span class="k">user</span><span class="o">@</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="s1">&#39;, &#39;</span><span class="o">@</span><span class="p">[</span><span class="o">^</span><span class="p">.]</span><span class="o">*</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------------------------+</span>
<span class="s1">|regexp_instr(user@spark.apache.org, @[^.]*, 0)|</span>
<span class="s1">+----------------------------------------------+</span>
<span class="s1">| 5|</span>
<span class="s1">+----------------------------------------------+</span>
<span class="s1">-- regexp_replace</span>
<span class="s1">SELECT regexp_replace(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="s1">&#39;, &#39;</span><span class="p">(</span><span class="err">\\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, &#39;</span><span class="n">num</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">|regexp_replace(100-200, (\d+), num, 1)|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">| num-num|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">SELECT regexp_replace(&#39;</span><span class="mi">100</span><span class="o">-</span><span class="mi">200</span><span class="s1">&#39;, r&#39;</span><span class="p">(</span><span class="err">\</span><span class="n">d</span><span class="o">+</span><span class="p">)</span><span class="s1">&#39;, &#39;</span><span class="n">num</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">|regexp_replace(100-200, (\d+), num, 1)|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">| num-num|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">-- regexp_substr</span>
<span class="s1">SELECT regexp_substr(&#39;</span><span class="n">Steven</span><span class="w"> </span><span class="n">Jones</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">Stephen</span><span class="w"> </span><span class="n">Smith</span><span class="w"> </span><span class="k">are</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">best</span><span class="w"> </span><span class="n">players</span><span class="s1">&#39;, &#39;</span><span class="n">Ste</span><span class="p">(</span><span class="n">v</span><span class="o">|</span><span class="n">ph</span><span class="p">)</span><span class="n">en</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------------------------------------------------------------+</span>
<span class="s1">|regexp_substr(Steven Jones and Stephen Smith are the best players, Ste(v|ph)en)|</span>
<span class="s1">+-------------------------------------------------------------------------------+</span>
<span class="s1">| Steven|</span>
<span class="s1">+-------------------------------------------------------------------------------+</span>
<span class="s1">SELECT regexp_substr(&#39;</span><span class="n">Steven</span><span class="w"> </span><span class="n">Jones</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">Stephen</span><span class="w"> </span><span class="n">Smith</span><span class="w"> </span><span class="k">are</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">best</span><span class="w"> </span><span class="n">players</span><span class="s1">&#39;, &#39;</span><span class="n">Jeck</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------------------------------------------------------+</span>
<span class="s1">|regexp_substr(Steven Jones and Stephen Smith are the best players, Jeck)|</span>
<span class="s1">+------------------------------------------------------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+------------------------------------------------------------------------+</span>
<span class="s1">-- repeat</span>
<span class="s1">SELECT repeat(&#39;</span><span class="mi">123</span><span class="s1">&#39;, 2);</span>
<span class="s1">+--------------+</span>
<span class="s1">|repeat(123, 2)|</span>
<span class="s1">+--------------+</span>
<span class="s1">| 123123|</span>
<span class="s1">+--------------+</span>
<span class="s1">-- replace</span>
<span class="s1">SELECT replace(&#39;</span><span class="n">ABCabc</span><span class="s1">&#39;, &#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">DEF</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|replace(ABCabc, abc, DEF)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| ABCDEF|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">-- right</span>
<span class="s1">SELECT right(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, 3);</span>
<span class="s1">+-------------------+</span>
<span class="s1">|right(Spark SQL, 3)|</span>
<span class="s1">+-------------------+</span>
<span class="s1">| SQL|</span>
<span class="s1">+-------------------+</span>
<span class="s1">-- rpad</span>
<span class="s1">SELECT rpad(&#39;</span><span class="n">hi</span><span class="s1">&#39;, 5, &#39;</span><span class="o">??</span><span class="s1">&#39;);</span>
<span class="s1">+---------------+</span>
<span class="s1">|rpad(hi, 5, ??)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| hi???|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT rpad(&#39;</span><span class="n">hi</span><span class="s1">&#39;, 1, &#39;</span><span class="o">??</span><span class="s1">&#39;);</span>
<span class="s1">+---------------+</span>
<span class="s1">|rpad(hi, 1, ??)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| h|</span>
<span class="s1">+---------------+</span>
<span class="s1">SELECT rpad(&#39;</span><span class="n">hi</span><span class="s1">&#39;, 5);</span>
<span class="s1">+--------------+</span>
<span class="s1">|rpad(hi, 5, )|</span>
<span class="s1">+--------------+</span>
<span class="s1">| hi |</span>
<span class="s1">+--------------+</span>
<span class="s1">SELECT hex(rpad(unhex(&#39;</span><span class="n">aabb</span><span class="s1">&#39;), 5));</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|hex(rpad(unhex(aabb), 5, X&#39;</span><span class="mi">00</span><span class="s1">&#39;))|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| AABB000000|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT hex(rpad(unhex(&#39;</span><span class="n">aabb</span><span class="s1">&#39;), 5, unhex(&#39;</span><span class="mi">1122</span><span class="s1">&#39;)));</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">|hex(rpad(unhex(aabb), 5, unhex(1122)))|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">| AABB112211|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">-- rtrim</span>
<span class="s1">SELECT rtrim(&#39;</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|rtrim( SparkSQL )|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| SparkSQL|</span>
<span class="s1">+----------------------+</span>
<span class="s1">-- sentences</span>
<span class="s1">SELECT sentences(&#39;</span><span class="n">Hi</span><span class="w"> </span><span class="n">there</span><span class="o">!</span><span class="w"> </span><span class="n">Good</span><span class="w"> </span><span class="n">morning</span><span class="p">.</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">|sentences(Hi there! Good morning., , )|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">| [[Hi, there], [Go...|</span>
<span class="s1">+--------------------------------------+</span>
<span class="s1">SELECT sentences(&#39;</span><span class="n">Hi</span><span class="w"> </span><span class="n">there</span><span class="o">!</span><span class="w"> </span><span class="n">Good</span><span class="w"> </span><span class="n">morning</span><span class="p">.</span><span class="s1">&#39;, &#39;</span><span class="n">en</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------------------+</span>
<span class="s1">|sentences(Hi there! Good morning., en, )|</span>
<span class="s1">+----------------------------------------+</span>
<span class="s1">| [[Hi, there], [Go...|</span>
<span class="s1">+----------------------------------------+</span>
<span class="s1">SELECT sentences(&#39;</span><span class="n">Hi</span><span class="w"> </span><span class="n">there</span><span class="o">!</span><span class="w"> </span><span class="n">Good</span><span class="w"> </span><span class="n">morning</span><span class="p">.</span><span class="s1">&#39;, &#39;</span><span class="n">en</span><span class="s1">&#39;, &#39;</span><span class="n">US</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------------------------+</span>
<span class="s1">|sentences(Hi there! Good morning., en, US)|</span>
<span class="s1">+------------------------------------------+</span>
<span class="s1">| [[Hi, there], [Go...|</span>
<span class="s1">+------------------------------------------+</span>
<span class="s1">-- soundex</span>
<span class="s1">SELECT soundex(&#39;</span><span class="n">Miller</span><span class="s1">&#39;);</span>
<span class="s1">+---------------+</span>
<span class="s1">|soundex(Miller)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| M460|</span>
<span class="s1">+---------------+</span>
<span class="s1">-- space</span>
<span class="s1">SELECT concat(space(2), &#39;</span><span class="mi">1</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------+</span>
<span class="s1">|concat(space(2), 1)|</span>
<span class="s1">+-------------------+</span>
<span class="s1">| 1|</span>
<span class="s1">+-------------------+</span>
<span class="s1">-- split</span>
<span class="s1">SELECT split(&#39;</span><span class="n">oneAtwoBthreeC</span><span class="s1">&#39;, &#39;</span><span class="p">[</span><span class="n">ABC</span><span class="p">]</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|split(oneAtwoBthreeC, [ABC], -1)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| [one, two, three, ]|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT split(&#39;</span><span class="n">oneAtwoBthreeC</span><span class="s1">&#39;, &#39;</span><span class="p">[</span><span class="n">ABC</span><span class="p">]</span><span class="s1">&#39;, -1);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|split(oneAtwoBthreeC, [ABC], -1)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| [one, two, three, ]|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT split(&#39;</span><span class="n">oneAtwoBthreeC</span><span class="s1">&#39;, &#39;</span><span class="p">[</span><span class="n">ABC</span><span class="p">]</span><span class="s1">&#39;, 2);</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">|split(oneAtwoBthreeC, [ABC], 2)|</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">| [one, twoBthreeC]|</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">-- split_part</span>
<span class="s1">SELECT split_part(&#39;</span><span class="mi">11</span><span class="p">.</span><span class="mi">12</span><span class="p">.</span><span class="mi">13</span><span class="s1">&#39;, &#39;</span><span class="p">.</span><span class="s1">&#39;, 3);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|split_part(11.12.13, ., 3)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| 13|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">-- startswith</span>
<span class="s1">SELECT startswith(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, &#39;</span><span class="n">Spark</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------+</span>
<span class="s1">|startswith(Spark SQL, Spark)|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">| true|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">SELECT startswith(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, &#39;</span><span class="k">SQL</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|startswith(Spark SQL, SQL)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| false|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">SELECT startswith(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, null);</span>
<span class="s1">+---------------------------+</span>
<span class="s1">|startswith(Spark SQL, NULL)|</span>
<span class="s1">+---------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------------------+</span>
<span class="s1">SELECT startswith(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, x&#39;</span><span class="mi">537061726</span><span class="n">b</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------------------------------+</span>
<span class="s1">|startswith(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;, X&#39;</span><span class="mi">537061726</span><span class="n">B</span><span class="s1">&#39;)|</span>
<span class="s1">+------------------------------------------------+</span>
<span class="s1">| true|</span>
<span class="s1">+------------------------------------------------+</span>
<span class="s1">SELECT startswith(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, x&#39;</span><span class="mi">53514</span><span class="k">c</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">|startswith(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;, X&#39;</span><span class="mi">53514</span><span class="k">C</span><span class="s1">&#39;)|</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">| false|</span>
<span class="s1">+--------------------------------------------+</span>
<span class="s1">-- substr</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, 5);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|substr(Spark SQL, 5, 2147483647)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| k SQL|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, -3);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|substr(Spark SQL, -3, 2147483647)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| SQL|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, 5, 1);</span>
<span class="s1">+-----------------------+</span>
<span class="s1">|substr(Spark SQL, 5, 1)|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">| k|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM 5);</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 2147483647)|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">| k SQL|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM -3);</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">|substring(Spark SQL, -3, 2147483647)|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">| SQL|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">SELECT substr(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM 5 FOR 1);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 1)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| k|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">SELECT substr(encode(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;), 5);</span>
<span class="s1">+-----------------------------------------------+</span>
<span class="s1">|substr(encode(Spark SQL, utf-8), 5, 2147483647)|</span>
<span class="s1">+-----------------------------------------------+</span>
<span class="s1">| [6B 20 53 51 4C]|</span>
<span class="s1">+-----------------------------------------------+</span>
<span class="s1">-- substring</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, 5);</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 2147483647)|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">| k SQL|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, -3);</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">|substring(Spark SQL, -3, 2147483647)|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">| SQL|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, 5, 1);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 1)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| k|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM 5);</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 2147483647)|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">| k SQL|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM -3);</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">|substring(Spark SQL, -3, 2147483647)|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">| SQL|</span>
<span class="s1">+------------------------------------+</span>
<span class="s1">SELECT substring(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39; FROM 5 FOR 1);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|substring(Spark SQL, 5, 1)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| k|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">SELECT substring(encode(&#39;</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;), 5);</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">|substring(encode(Spark SQL, utf-8), 5, 2147483647)|</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">| [6B 20 53 51 4C]|</span>
<span class="s1">+--------------------------------------------------+</span>
<span class="s1">-- substring_index</span>
<span class="s1">SELECT substring_index(&#39;</span><span class="n">www</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="s1">&#39;, &#39;</span><span class="p">.</span><span class="s1">&#39;, 2);</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">|substring_index(www.apache.org, ., 2)|</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">| www.apache|</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">-- to_binary</span>
<span class="s1">SELECT to_binary(&#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|to_binary(abc, utf-8)|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| [61 62 63]|</span>
<span class="s1">+---------------------+</span>
<span class="s1">-- to_char</span>
<span class="s1">SELECT to_char(454, &#39;</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------+</span>
<span class="s1">|to_char(454, 999)|</span>
<span class="s1">+-----------------+</span>
<span class="s1">| 454|</span>
<span class="s1">+-----------------+</span>
<span class="s1">SELECT to_char(454.00, &#39;</span><span class="mi">000</span><span class="n">D00</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------+</span>
<span class="s1">|to_char(454.00, 000D00)|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">| 454.00|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">SELECT to_char(12454, &#39;</span><span class="mi">99</span><span class="n">G999</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|to_char(12454, 99G999)|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| 12,454|</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT to_char(78.12, &#39;</span><span class="err">$</span><span class="mi">99</span><span class="p">.</span><span class="mi">99</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|to_char(78.12, $99.99)|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| $78.12|</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT to_char(-12454.8, &#39;</span><span class="mi">99</span><span class="n">G999D9S</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------+</span>
<span class="s1">|to_char(-12454.8, 99G999D9S)|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">| 12,454.8-|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">SELECT to_char(date&#39;</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="s1">&#39;, &#39;</span><span class="n">y</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|date_format(DATE &#39;</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="s1">&#39;, y)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| 2016|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">SELECT to_char(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, &#39;</span><span class="n">base64</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|base64(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| U3BhcmsgU1FM|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT to_char(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, &#39;</span><span class="n">hex</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------+</span>
<span class="s1">|hex(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;)|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">| 537061726B2053514C|</span>
<span class="s1">+--------------------------+</span>
<span class="s1">SELECT to_char(encode(&#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;), &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|decode(encode(abc, utf-8), utf-8)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| abc|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">-- to_number</span>
<span class="s1">SELECT to_number(&#39;</span><span class="mi">454</span><span class="s1">&#39;, &#39;</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------+</span>
<span class="s1">|to_number(454, 999)|</span>
<span class="s1">+-------------------+</span>
<span class="s1">| 454|</span>
<span class="s1">+-------------------+</span>
<span class="s1">SELECT to_number(&#39;</span><span class="mi">454</span><span class="p">.</span><span class="mi">00</span><span class="s1">&#39;, &#39;</span><span class="mi">000</span><span class="p">.</span><span class="mi">00</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|to_number(454.00, 000.00)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| 454.00|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">SELECT to_number(&#39;</span><span class="mi">12</span><span class="p">,</span><span class="mi">454</span><span class="s1">&#39;, &#39;</span><span class="mi">99</span><span class="p">,</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|to_number(12,454, 99,999)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| 12454|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">SELECT to_number(&#39;</span><span class="err">$</span><span class="mi">78</span><span class="p">.</span><span class="mi">12</span><span class="s1">&#39;, &#39;</span><span class="err">$</span><span class="mi">99</span><span class="p">.</span><span class="mi">99</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|to_number($78.12, $99.99)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| 78.12|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">SELECT to_number(&#39;</span><span class="mi">12</span><span class="p">,</span><span class="mi">454</span><span class="p">.</span><span class="mi">8</span><span class="o">-</span><span class="s1">&#39;, &#39;</span><span class="mi">99</span><span class="p">,</span><span class="mi">999</span><span class="p">.</span><span class="mi">9</span><span class="n">S</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">|to_number(12,454.8-, 99,999.9S)|</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">| -12454.8|</span>
<span class="s1">+-------------------------------+</span>
<span class="s1">-- to_varchar</span>
<span class="s1">SELECT to_varchar(454, &#39;</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------+</span>
<span class="s1">|to_char(454, 999)|</span>
<span class="s1">+-----------------+</span>
<span class="s1">| 454|</span>
<span class="s1">+-----------------+</span>
<span class="s1">SELECT to_varchar(454.00, &#39;</span><span class="mi">000</span><span class="n">D00</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------+</span>
<span class="s1">|to_char(454.00, 000D00)|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">| 454.00|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">SELECT to_varchar(12454, &#39;</span><span class="mi">99</span><span class="n">G999</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|to_char(12454, 99G999)|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| 12,454|</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT to_varchar(78.12, &#39;</span><span class="err">$</span><span class="mi">99</span><span class="p">.</span><span class="mi">99</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|to_char(78.12, $99.99)|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| $78.12|</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT to_varchar(-12454.8, &#39;</span><span class="mi">99</span><span class="n">G999D9S</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------+</span>
<span class="s1">|to_char(-12454.8, 99G999D9S)|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">| 12,454.8-|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">SELECT to_varchar(date&#39;</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="s1">&#39;, &#39;</span><span class="n">y</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|date_format(DATE &#39;</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="s1">&#39;, y)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| 2016|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">SELECT to_varchar(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, &#39;</span><span class="n">base64</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|to_varchar(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| U3BhcmsgU1FM|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">SELECT to_varchar(x&#39;</span><span class="mi">537061726</span><span class="n">b2053514c</span><span class="s1">&#39;, &#39;</span><span class="n">hex</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|to_varchar(X&#39;</span><span class="mi">537061726</span><span class="n">B2053514C</span><span class="s1">&#39;)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| 537061726B2053514C|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">SELECT to_varchar(encode(&#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;), &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">|to_varchar(encode(abc, utf-8), utf-8)|</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">| abc|</span>
<span class="s1">+-------------------------------------+</span>
<span class="s1">-- translate</span>
<span class="s1">SELECT translate(&#39;</span><span class="n">AaBbCc</span><span class="s1">&#39;, &#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="mi">123</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------+</span>
<span class="s1">|translate(AaBbCc, abc, 123)|</span>
<span class="s1">+---------------------------+</span>
<span class="s1">| A1B2C3|</span>
<span class="s1">+---------------------------+</span>
<span class="s1">-- trim</span>
<span class="s1">SELECT trim(&#39;</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="s1">&#39;);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|trim( SparkSQL )|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| SparkSQL|</span>
<span class="s1">+---------------------+</span>
<span class="s1">SELECT trim(BOTH FROM &#39;</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="s1">&#39;);</span>
<span class="s1">+---------------------+</span>
<span class="s1">|trim( SparkSQL )|</span>
<span class="s1">+---------------------+</span>
<span class="s1">| SparkSQL|</span>
<span class="s1">+---------------------+</span>
<span class="s1">SELECT trim(LEADING FROM &#39;</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|ltrim( SparkSQL )|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| SparkSQL |</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT trim(TRAILING FROM &#39;</span><span class="w"> </span><span class="n">SparkSQL</span><span class="w"> </span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|rtrim( SparkSQL )|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| SparkSQL|</span>
<span class="s1">+----------------------+</span>
<span class="s1">SELECT trim(&#39;</span><span class="n">SL</span><span class="s1">&#39; FROM &#39;</span><span class="n">SSparkSQLS</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|TRIM(BOTH SL FROM SSparkSQLS)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| parkSQ|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT trim(BOTH &#39;</span><span class="n">SL</span><span class="s1">&#39; FROM &#39;</span><span class="n">SSparkSQLS</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|TRIM(BOTH SL FROM SSparkSQLS)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| parkSQ|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT trim(LEADING &#39;</span><span class="n">SL</span><span class="s1">&#39; FROM &#39;</span><span class="n">SSparkSQLS</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">|TRIM(LEADING SL FROM SSparkSQLS)|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">| parkSQLS|</span>
<span class="s1">+--------------------------------+</span>
<span class="s1">SELECT trim(TRAILING &#39;</span><span class="n">SL</span><span class="s1">&#39; FROM &#39;</span><span class="n">SSparkSQLS</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|TRIM(TRAILING SL FROM SSparkSQLS)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| SSparkSQ|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">-- try_to_binary</span>
<span class="s1">SELECT try_to_binary(&#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">utf</span><span class="o">-</span><span class="mi">8</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|try_to_binary(abc, utf-8)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| [61 62 63]|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">select try_to_binary(&#39;</span><span class="n">a</span><span class="o">!</span><span class="s1">&#39;, &#39;</span><span class="n">base64</span><span class="s1">&#39;);</span>
<span class="s1">+-------------------------+</span>
<span class="s1">|try_to_binary(a!, base64)|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+-------------------------+</span>
<span class="s1">select try_to_binary(&#39;</span><span class="n">abc</span><span class="s1">&#39;, &#39;</span><span class="n">invalidFormat</span><span class="s1">&#39;);</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">|try_to_binary(abc, invalidFormat)|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+---------------------------------+</span>
<span class="s1">-- try_to_number</span>
<span class="s1">SELECT try_to_number(&#39;</span><span class="mi">454</span><span class="s1">&#39;, &#39;</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------+</span>
<span class="s1">|try_to_number(454, 999)|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">| 454|</span>
<span class="s1">+-----------------------+</span>
<span class="s1">SELECT try_to_number(&#39;</span><span class="mi">454</span><span class="p">.</span><span class="mi">00</span><span class="s1">&#39;, &#39;</span><span class="mi">000</span><span class="p">.</span><span class="mi">00</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|try_to_number(454.00, 000.00)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| 454.00|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT try_to_number(&#39;</span><span class="mi">12</span><span class="p">,</span><span class="mi">454</span><span class="s1">&#39;, &#39;</span><span class="mi">99</span><span class="p">,</span><span class="mi">999</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|try_to_number(12,454, 99,999)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| 12454|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT try_to_number(&#39;</span><span class="err">$</span><span class="mi">78</span><span class="p">.</span><span class="mi">12</span><span class="s1">&#39;, &#39;</span><span class="err">$</span><span class="mi">99</span><span class="p">.</span><span class="mi">99</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">|try_to_number($78.12, $99.99)|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">| 78.12|</span>
<span class="s1">+-----------------------------+</span>
<span class="s1">SELECT try_to_number(&#39;</span><span class="mi">12</span><span class="p">,</span><span class="mi">454</span><span class="p">.</span><span class="mi">8</span><span class="o">-</span><span class="s1">&#39;, &#39;</span><span class="mi">99</span><span class="p">,</span><span class="mi">999</span><span class="p">.</span><span class="mi">9</span><span class="n">S</span><span class="s1">&#39;);</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">|try_to_number(12,454.8-, 99,999.9S)|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">| -12454.8|</span>
<span class="s1">+-----------------------------------+</span>
<span class="s1">-- try_validate_utf8</span>
<span class="s1">SELECT try_validate_utf8(&#39;</span><span class="n">Spark</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------+</span>
<span class="s1">|try_validate_utf8(Spark)|</span>
<span class="s1">+------------------------+</span>
<span class="s1">| Spark|</span>
<span class="s1">+------------------------+</span>
<span class="s1">SELECT try_validate_utf8(x&#39;</span><span class="mi">61</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------+</span>
<span class="s1">|try_validate_utf8(X&#39;</span><span class="mi">61</span><span class="s1">&#39;)|</span>
<span class="s1">+------------------------+</span>
<span class="s1">| a|</span>
<span class="s1">+------------------------+</span>
<span class="s1">SELECT try_validate_utf8(x&#39;</span><span class="mi">80</span><span class="s1">&#39;);</span>
<span class="s1">+------------------------+</span>
<span class="s1">|try_validate_utf8(X&#39;</span><span class="mi">80</span><span class="s1">&#39;)|</span>
<span class="s1">+------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+------------------------+</span>
<span class="s1">SELECT try_validate_utf8(x&#39;</span><span class="mi">61</span><span class="n">C262</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------------+</span>
<span class="s1">|try_validate_utf8(X&#39;</span><span class="mi">61</span><span class="n">C262</span><span class="s1">&#39;)|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">| NULL|</span>
<span class="s1">+----------------------------+</span>
<span class="s1">-- ucase</span>
<span class="s1">SELECT ucase(&#39;</span><span class="n">SparkSql</span><span class="s1">&#39;);</span>
<span class="s1">+---------------+</span>
<span class="s1">|ucase(SparkSql)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| SPARKSQL|</span>
<span class="s1">+---------------+</span>
<span class="s1">-- unbase64</span>
<span class="s1">SELECT unbase64(&#39;</span><span class="n">U3BhcmsgU1FM</span><span class="s1">&#39;);</span>
<span class="s1">+----------------------+</span>
<span class="s1">|unbase64(U3BhcmsgU1FM)|</span>
<span class="s1">+----------------------+</span>
<span class="s1">| [53 70 61 72 6B 2...|</span>
<span class="s1">+----------------------+</span>
<span class="s1">-- upper</span>
<span class="s1">SELECT upper(&#39;</span><span class="n">SparkSql</span><span class="s1">&#39;);</span>
<span class="s1">+---------------+</span>
<span class="s1">|upper(SparkSql)|</span>
<span class="s1">+---------------+</span>
<span class="s1">| SPARKSQL|</span>
<span class="s1">+---------------+</span>
<span class="s1">-- validate_utf8</span>
<span class="s1">SELECT validate_utf8(&#39;</span><span class="n">Spark</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|validate_utf8(Spark)|</span>
<span class="s1">+--------------------+</span>
<span class="s1">| Spark|</span>
<span class="s1">+--------------------+</span>
<span class="s1">SELECT validate_utf8(x&#39;</span><span class="mi">61</span><span class="s1">&#39;);</span>
<span class="s1">+--------------------+</span>
<span class="s1">|validate_utf8(X&#39;</span><span class="mi">61</span><span class="err">&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
</code></pre></div>
<h3 id="conditional-functions">Conditional Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>input [NOT] between lower AND upper</td>
<td>evaluate if `input` is [not] in between `lower` and `upper`</td>
</tr>
<tr>
<td>coalesce(expr1, expr2, ...)</td>
<td>Returns the first non-null argument if exists. Otherwise, null.</td>
</tr>
<tr>
<td>if(expr1, expr2, expr3)</td>
<td>If `expr1` evaluates to true, then returns `expr2`; otherwise returns `expr3`.</td>
</tr>
<tr>
<td>ifnull(expr1, expr2)</td>
<td>Returns `expr2` if `expr1` is null, or `expr1` otherwise.</td>
</tr>
<tr>
<td>nanvl(expr1, expr2)</td>
<td>Returns `expr1` if it's not NaN, or `expr2` otherwise.</td>
</tr>
<tr>
<td>nullif(expr1, expr2)</td>
<td>Returns null if `expr1` equals to `expr2`, or `expr1` otherwise.</td>
</tr>
<tr>
<td>nullifzero(expr)</td>
<td>Returns null if `expr` is equal to zero, or `expr` otherwise.</td>
</tr>
<tr>
<td>nvl(expr1, expr2)</td>
<td>Returns `expr2` if `expr1` is null, or `expr1` otherwise.</td>
</tr>
<tr>
<td>nvl2(expr1, expr2, expr3)</td>
<td>Returns `expr2` if `expr1` is not null, or `expr3` otherwise.</td>
</tr>
<tr>
<td>CASE WHEN expr1 THEN expr2 [WHEN expr3 THEN expr4]* [ELSE expr5] END</td>
<td>When `expr1` = true, returns `expr2`; else when `expr3` = true, returns `expr4`; else returns `expr5`.</td>
</tr>
<tr>
<td>zeroifnull(expr)</td>
<td>Returns zero if `expr` is equal to null, or `expr` otherwise.</td>
</tr>
</tbody>
</table>
<h4 id="examples-9">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- between</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="w"> </span><span class="k">between</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="k">between</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- coalesce</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">coalesce</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="k">coalesce</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- if</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">if</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">IF</span><span class="p">((</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- ifnull</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">ifnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;2&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">ifnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- nanvl</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">nanvl</span><span class="p">(</span><span class="k">cast</span><span class="p">(</span><span class="s1">&#39;NaN&#39;</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">double</span><span class="p">),</span><span class="w"> </span><span class="mi">123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">nanvl</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">NaN</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="mi">123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">123</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="c1">-- nullif</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">nullif</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="k">nullif</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- nullifzero</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">nullifzero</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">nullifzero</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">nullifzero</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">nullifzero</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- nvl</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">nvl</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">&#39;2&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">nvl</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- nvl2</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">nvl2</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">nvl2</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- when</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="w"> </span><span class="k">END</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="w"> </span><span class="k">END</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="w"> </span><span class="k">END</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">2</span><span class="w"> </span><span class="k">END</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------+</span>
<span class="c1">-- zeroifnull</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">zeroifnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">zeroifnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">zeroifnull</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">zeroifnull</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
</code></pre></div>
<h3 id="hash-functions">Hash Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>crc32(expr)</td>
<td>Returns a cyclic redundancy check value of the `expr` as a bigint.</td>
</tr>
<tr>
<td>hash(expr1, expr2, ...)</td>
<td>Returns a hash value of the arguments.</td>
</tr>
<tr>
<td>md5(expr)</td>
<td>Returns an MD5 128-bit checksum as a hex string of `expr`.</td>
</tr>
<tr>
<td>sha(expr)</td>
<td>Returns a sha1 hash value as a hex string of the `expr`.</td>
</tr>
<tr>
<td>sha1(expr)</td>
<td>Returns a sha1 hash value as a hex string of the `expr`.</td>
</tr>
<tr>
<td>sha2(expr, bitLength)</td>
<td>Returns a checksum of SHA-2 family as a hex string of `expr`.
SHA-224, SHA-256, SHA-384, and SHA-512 are supported. Bit length of 0 is equivalent to 256.</td>
</tr>
<tr>
<td>xxhash64(expr1, expr2, ...)</td>
<td>Returns a 64-bit hash value of the arguments. Hash seed is 42.</td>
</tr>
</tbody>
</table>
<h4 id="examples-10">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- crc32</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">crc32</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">crc32</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1557323817</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- hash</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hash</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">123</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">hash</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">123</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1321691492</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- md5</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">md5</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">md5</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">8</span><span class="n">cde774d6f7333752</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- sha</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sha</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sha</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">85</span><span class="n">f5955f4b27a9a4c</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- sha1</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sha1</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sha1</span><span class="p">(</span><span class="n">Spark</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">85</span><span class="n">f5955f4b27a9a4c</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- sha2</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">sha2</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">256</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">sha2</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="mi">256</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">529</span><span class="n">bc3b07127ecb7e</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- xxhash64</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xxhash64</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">123</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">xxhash64</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">123</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5602566077635097486</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
</code></pre></div>
<h3 id="csv-functions">CSV Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>from_csv(csvStr, schema[, options])</td>
<td>Returns a struct value with the given `csvStr` and `schema`.</td>
</tr>
<tr>
<td>schema_of_csv(csv[, options])</td>
<td>Returns schema in the DDL format of CSV string.</td>
</tr>
<tr>
<td>to_csv(expr[, options])</td>
<td>Returns a CSV string with a given struct value</td>
</tr>
</tbody>
</table>
<h4 id="examples-11">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- from_csv</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_csv</span><span class="p">(</span><span class="s1">&#39;1, 0.8&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a INT, b DOUBLE&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">from_csv</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_csv</span><span class="p">(</span><span class="s1">&#39;26/08/2015&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;time Timestamp&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">from_csv</span><span class="p">(</span><span class="mi">26</span><span class="o">/</span><span class="mi">08</span><span class="o">/</span><span class="mi">2015</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="err">{</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- schema_of_csv</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_csv</span><span class="p">(</span><span class="s1">&#39;1,abc&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">schema_of_csv</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="n">abc</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">_c0</span><span class="p">:</span><span class="w"> </span><span class="nb">INT</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- to_csv</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_csv</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">to_csv</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_csv</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">&#39;2015-08-26&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">)),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">to_csv</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="k">time</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">26</span><span class="o">/</span><span class="mi">08</span><span class="o">/</span><span class="mi">2015</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
</code></pre></div>
<h3 id="json-functions">JSON Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>from_json(jsonStr, schema[, options])</td>
<td>Returns a struct value with the given `jsonStr` and `schema`.</td>
</tr>
<tr>
<td>get_json_object(json_txt, path)</td>
<td>Extracts a json object from `path`.</td>
</tr>
<tr>
<td>json_array_length(jsonArray)</td>
<td>Returns the number of elements in the outermost JSON array.</td>
</tr>
<tr>
<td>json_object_keys(json_object)</td>
<td>Returns all the keys of the outermost JSON object as an array.</td>
</tr>
<tr>
<td>json_tuple(jsonStr, p1, p2, ..., pn)</td>
<td>Returns a tuple like the function get_json_object, but it takes multiple names. All the input parameters and output column types are string.</td>
</tr>
<tr>
<td>schema_of_json(json[, options])</td>
<td>Returns schema in the DDL format of JSON string.</td>
</tr>
<tr>
<td>to_json(expr[, options])</td>
<td>Returns a JSON string with a given struct value</td>
</tr>
</tbody>
</table>
<h4 id="examples-12">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- from_json</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:1, &quot;b&quot;:0.8}&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a INT, b DOUBLE&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">from_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_json</span><span class="p">(</span><span class="s1">&#39;{&quot;time&quot;:&quot;26/08/2015&quot;}&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;time Timestamp&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">from_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;time&quot;</span><span class="p">:</span><span class="ss">&quot;26/08/2015&quot;</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_json</span><span class="p">(</span><span class="s1">&#39;{&quot;teacher&quot;: &quot;Alice&quot;, &quot;student&quot;: [{&quot;name&quot;: &quot;Bob&quot;, &quot;rank&quot;: 1}, {&quot;name&quot;: &quot;Charlie&quot;, &quot;rank&quot;: 2}]}&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;STRUCT&lt;teacher: STRING, student: ARRAY&lt;STRUCT&lt;name: STRING, rank: INT&gt;&gt;&gt;&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">from_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;teacher&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;Alice&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;student&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;Bob&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;rank&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;Charlie&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;rank&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">]</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">Alice</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="n">Bob</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- get_json_object</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">get_json_object</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:&quot;b&quot;}&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;$.a&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">get_json_object</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="ss">&quot;b&quot;</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">a</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">get_json_object</span><span class="p">(</span><span class="s1">&#39;[{&quot;a&quot;:&quot;b&quot;},{&quot;a&quot;:&quot;c&quot;}]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;$[0].a&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">get_json_object</span><span class="p">([</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="ss">&quot;b&quot;</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="ss">&quot;c&quot;</span><span class="err">}</span><span class="p">],</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">0</span><span class="p">].</span><span class="n">a</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">get_json_object</span><span class="p">(</span><span class="s1">&#39;[{&quot;a&quot;:&quot;b&quot;},{&quot;a&quot;:&quot;c&quot;}]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;$[*].a&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">get_json_object</span><span class="p">([</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="ss">&quot;b&quot;</span><span class="err">}</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="ss">&quot;c&quot;</span><span class="err">}</span><span class="p">],</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="o">*</span><span class="p">].</span><span class="n">a</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="ss">&quot;b&quot;</span><span class="p">,</span><span class="ss">&quot;c&quot;</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- json_array_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_length</span><span class="p">(</span><span class="s1">&#39;[1,2,3,4]&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">json_array_length</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_length</span><span class="p">(</span><span class="s1">&#39;[1,2,3,{&quot;f1&quot;:1,&quot;f2&quot;:[5,6]},4]&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="n">json_array_length</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">,</span><span class="err">{</span><span class="ss">&quot;f1&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;f2&quot;</span><span class="p">:[</span><span class="mi">5</span><span class="p">,</span><span class="mi">6</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="mi">4</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_array_length</span><span class="p">(</span><span class="s1">&#39;[1,2&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">json_array_length</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- json_object_keys</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_keys</span><span class="p">(</span><span class="s1">&#39;{}&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">json_object_keys</span><span class="p">(</span><span class="err">{}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_keys</span><span class="p">(</span><span class="s1">&#39;{&quot;key&quot;: &quot;value&quot;}&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="n">json_object_keys</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;key&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;value&quot;</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">key</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_object_keys</span><span class="p">(</span><span class="s1">&#39;{&quot;f1&quot;:&quot;abc&quot;,&quot;f2&quot;:{&quot;f3&quot;:&quot;a&quot;, &quot;f4&quot;:&quot;b&quot;}}&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">json_object_keys</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;f1&quot;</span><span class="p">:</span><span class="ss">&quot;abc&quot;</span><span class="p">,</span><span class="ss">&quot;f2&quot;</span><span class="p">:</span><span class="err">{</span><span class="ss">&quot;f3&quot;</span><span class="p">:</span><span class="ss">&quot;a&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;f4&quot;</span><span class="p">:</span><span class="ss">&quot;b&quot;</span><span class="err">}}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">f1</span><span class="p">,</span><span class="w"> </span><span class="n">f2</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="c1">-- json_tuple</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">json_tuple</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:1, &quot;b&quot;:2}&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">c0</span><span class="o">|</span><span class="w"> </span><span class="n">c1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="c1">-- schema_of_json</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_json</span><span class="p">(</span><span class="s1">&#39;[{&quot;col&quot;:0}]&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">schema_of_json</span><span class="p">([</span><span class="err">{</span><span class="ss">&quot;col&quot;</span><span class="p">:</span><span class="mi">0</span><span class="err">}</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">ARRAY</span><span class="o">&lt;</span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">col</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_json</span><span class="p">(</span><span class="s1">&#39;[{&quot;col&quot;:01}]&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;allowNumericLeadingZeros&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;true&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="n">schema_of_json</span><span class="p">([</span><span class="err">{</span><span class="ss">&quot;col&quot;</span><span class="p">:</span><span class="mi">01</span><span class="err">}</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">ARRAY</span><span class="o">&lt;</span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">col</span><span class="p">:...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="c1">-- to_json</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_json</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">to_json</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">2</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_json</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">&#39;2015-08-26&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">)),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">to_json</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="k">time</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;time&quot;</span><span class="p">:</span><span class="ss">&quot;26/08/20...|</span>
<span class="ss">+-----------------------------------------------------------------+</span>
<span class="ss">SELECT to_json(array(named_struct(&#39;a&#39;, 1, &#39;b&#39;, 2)));</span>
<span class="ss">+----------------------------------------+</span>
<span class="ss">|to_json(array(named_struct(a, 1, b, 2)))|</span>
<span class="ss">+----------------------------------------+</span>
<span class="ss">| [{&quot;</span><span class="n">a</span><span class="ss">&quot;:1,&quot;</span><span class="n">b</span><span class="ss">&quot;:2}]|</span>
<span class="ss">+----------------------------------------+</span>
<span class="ss">SELECT to_json(map(&#39;a&#39;, named_struct(&#39;b&#39;, 1)));</span>
<span class="ss">+-----------------------------------+</span>
<span class="ss">|to_json(map(a, named_struct(b, 1)))|</span>
<span class="ss">+-----------------------------------+</span>
<span class="ss">| {&quot;</span><span class="n">a</span><span class="ss">&quot;:{&quot;</span><span class="n">b</span><span class="ss">&quot;:1}}|</span>
<span class="ss">+-----------------------------------+</span>
<span class="ss">SELECT to_json(map(named_struct(&#39;a&#39;, 1),named_struct(&#39;b&#39;, 2)));</span>
<span class="ss">+----------------------------------------------------+</span>
<span class="ss">|to_json(map(named_struct(a, 1), named_struct(b, 2)))|</span>
<span class="ss">+----------------------------------------------------+</span>
<span class="ss">| {&quot;</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="ss">&quot;:{&quot;</span><span class="n">b</span><span class="ss">&quot;:2}}|</span>
<span class="ss">+----------------------------------------------------+</span>
<span class="ss">SELECT to_json(map(&#39;a&#39;, 1));</span>
<span class="ss">+------------------+</span>
<span class="ss">|to_json(map(a, 1))|</span>
<span class="ss">+------------------+</span>
<span class="ss">| {&quot;</span><span class="n">a</span><span class="ss">&quot;:1}|</span>
<span class="ss">+------------------+</span>
<span class="ss">SELECT to_json(array(map(&#39;a&#39;, 1)));</span>
<span class="ss">+-------------------------+</span>
<span class="ss">|to_json(array(map(a, 1)))|</span>
<span class="ss">+-------------------------+</span>
<span class="ss">| [{&quot;</span><span class="n">a</span><span class="err">&quot;</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
</code></pre></div>
<h3 id="xml-functions">XML Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>from_xml(xmlStr, schema[, options])</td>
<td>Returns a struct value with the given `xmlStr` and `schema`.</td>
</tr>
<tr>
<td>schema_of_xml(xml[, options])</td>
<td>Returns schema in the DDL format of XML string.</td>
</tr>
<tr>
<td>to_xml(expr[, options])</td>
<td>Returns a XML string with a given struct value</td>
</tr>
<tr>
<td>xpath(xml, xpath)</td>
<td>Returns a string array of values within the nodes of xml that match the XPath expression.</td>
</tr>
<tr>
<td>xpath_boolean(xml, xpath)</td>
<td>Returns true if the XPath expression evaluates to true, or if a matching node is found.</td>
</tr>
<tr>
<td>xpath_double(xml, xpath)</td>
<td>Returns a double value, the value zero if no match is found, or NaN if a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_float(xml, xpath)</td>
<td>Returns a float value, the value zero if no match is found, or NaN if a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_int(xml, xpath)</td>
<td>Returns an integer value, or the value zero if no match is found, or a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_long(xml, xpath)</td>
<td>Returns a long integer value, or the value zero if no match is found, or a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_number(xml, xpath)</td>
<td>Returns a double value, the value zero if no match is found, or NaN if a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_short(xml, xpath)</td>
<td>Returns a short integer value, or the value zero if no match is found, or a match is found but the value is non-numeric.</td>
</tr>
<tr>
<td>xpath_string(xml, xpath)</td>
<td>Returns the text contents of the first xml node that matches the XPath expression.</td>
</tr>
</tbody>
</table>
<h4 id="examples-13">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- from_xml</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_xml</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt;&lt;a&gt;1&lt;/a&gt;&lt;b&gt;0.8&lt;/b&gt;&lt;/p&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a INT, b DOUBLE&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">from_xml</span><span class="p">(</span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;&lt;</span><span class="n">a</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">p</span><span class="o">&gt;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_xml</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt;&lt;time&gt;26/08/2015&lt;/time&gt;&lt;/p&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;time Timestamp&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="n">from_xml</span><span class="p">(</span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;&lt;</span><span class="k">time</span><span class="o">&gt;</span><span class="mi">26</span><span class="o">/</span><span class="mi">08</span><span class="o">/</span><span class="mi">2015</span><span class="o">&lt;/</span><span class="k">time</span><span class="o">&gt;&lt;/</span><span class="n">p</span><span class="o">&gt;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">from_xml</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt;&lt;teacher&gt;Alice&lt;/teacher&gt;&lt;student&gt;&lt;name&gt;Bob&lt;/name&gt;&lt;rank&gt;1&lt;/rank&gt;&lt;/student&gt;&lt;student&gt;&lt;name&gt;Charlie&lt;/name&gt;&lt;rank&gt;2&lt;/rank&gt;&lt;/student&gt;&lt;/p&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;STRUCT&lt;teacher: STRING, student: ARRAY&lt;STRUCT&lt;name: STRING, rank: INT&gt;&gt;&gt;&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">from_xml</span><span class="p">(</span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;&lt;</span><span class="n">teacher</span><span class="o">&gt;</span><span class="n">Alice</span><span class="o">&lt;/</span><span class="n">teacher</span><span class="o">&gt;&lt;</span><span class="n">student</span><span class="o">&gt;&lt;</span><span class="n">name</span><span class="o">&gt;</span><span class="n">Bob</span><span class="o">&lt;/</span><span class="n">name</span><span class="o">&gt;&lt;</span><span class="n">rank</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">rank</span><span class="o">&gt;&lt;/</span><span class="n">student</span><span class="o">&gt;&lt;</span><span class="n">student</span><span class="o">&gt;&lt;</span><span class="n">name</span><span class="o">&gt;</span><span class="n">Charlie</span><span class="o">&lt;/</span><span class="n">name</span><span class="o">&gt;&lt;</span><span class="n">rank</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">rank</span><span class="o">&gt;&lt;/</span><span class="n">student</span><span class="o">&gt;&lt;/</span><span class="n">p</span><span class="o">&gt;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">Alice</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="n">Bob</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- schema_of_xml</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_xml</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt;&lt;a&gt;1&lt;/a&gt;&lt;/p&gt;&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_xml</span><span class="p">(</span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;&lt;</span><span class="n">a</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">a</span><span class="o">&gt;&lt;/</span><span class="n">p</span><span class="o">&gt;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">a</span><span class="p">:</span><span class="w"> </span><span class="nb">BIGINT</span><span class="o">&gt;|</span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_xml</span><span class="p">(</span><span class="s1">&#39;&lt;p&gt;&lt;a attr=&quot;2&quot;&gt;1&lt;/a&gt;&lt;a&gt;3&lt;/a&gt;&lt;/p&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;excludeAttribute&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;true&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_xml</span><span class="p">(</span><span class="o">&lt;</span><span class="n">p</span><span class="o">&gt;&lt;</span><span class="n">a</span><span class="w"> </span><span class="n">attr</span><span class="o">=</span><span class="ss">&quot;2&quot;</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">a</span><span class="o">&gt;</span><span class="mi">3</span><span class="o">&lt;/</span><span class="n">a</span><span class="o">&gt;&lt;/</span><span class="n">p</span><span class="o">&gt;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">a</span><span class="p">:</span><span class="w"> </span><span class="nb">ARRAY</span><span class="o">&lt;</span><span class="n">B</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- to_xml</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_xml</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">to_xml</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">&lt;</span><span class="k">ROW</span><span class="o">&gt;</span><span class="err">\</span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_xml</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;time&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">&#39;2015-08-26&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;yyyy-MM-dd&#39;</span><span class="p">)),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">&#39;timestampFormat&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;dd/MM/yyyy&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">to_xml</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="k">time</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">&lt;</span><span class="k">ROW</span><span class="o">&gt;</span><span class="err">\</span><span class="n">n</span><span class="w"> </span><span class="o">&lt;</span><span class="k">time</span><span class="o">&gt;</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="c1">-- xpath</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;b1&lt;/b&gt;&lt;b&gt;b2&lt;/b&gt;&lt;b&gt;b3&lt;/b&gt;&lt;c&gt;c1&lt;/c&gt;&lt;c&gt;c2&lt;/c&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="s1">&#39;a/b/text()&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b3</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="k">c</span><span class="o">&gt;</span><span class="n">c1</span><span class="o">&lt;/</span><span class="k">c</span><span class="o">&gt;&lt;</span><span class="k">c</span><span class="o">&gt;</span><span class="n">c2</span><span class="o">&lt;/</span><span class="k">c</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="o">/</span><span class="nb">text</span><span class="p">())</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">b1</span><span class="p">,</span><span class="w"> </span><span class="n">b2</span><span class="p">,</span><span class="w"> </span><span class="n">b3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;b1&lt;/b&gt;&lt;b&gt;b2&lt;/b&gt;&lt;b&gt;b3&lt;/b&gt;&lt;c&gt;c1&lt;/c&gt;&lt;c&gt;c2&lt;/c&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="s1">&#39;a/b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b3</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="k">c</span><span class="o">&gt;</span><span class="n">c1</span><span class="o">&lt;/</span><span class="k">c</span><span class="o">&gt;&lt;</span><span class="k">c</span><span class="o">&gt;</span><span class="n">c2</span><span class="o">&lt;/</span><span class="k">c</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="c1">-- xpath_boolean</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_boolean</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="s1">&#39;a/b&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">xpath_boolean</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="c1">-- xpath_double</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_double</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_double</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- xpath_float</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_float</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_float</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- xpath_int</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_int</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_int</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- xpath_long</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_long</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_long</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="c1">-- xpath_number</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_number</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_number</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- xpath_short</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_short</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;1&lt;/b&gt;&lt;b&gt;2&lt;/b&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;sum(a/b)&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_short</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">1</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="mi">2</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">a</span><span class="o">/</span><span class="n">b</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- xpath_string</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">xpath_string</span><span class="p">(</span><span class="s1">&#39;&lt;a&gt;&lt;b&gt;b&lt;/b&gt;&lt;c&gt;cc&lt;/c&gt;&lt;/a&gt;&#39;</span><span class="p">,</span><span class="s1">&#39;a/c&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">xpath_string</span><span class="p">(</span><span class="o">&lt;</span><span class="n">a</span><span class="o">&gt;&lt;</span><span class="n">b</span><span class="o">&gt;</span><span class="n">b</span><span class="o">&lt;/</span><span class="n">b</span><span class="o">&gt;&lt;</span><span class="k">c</span><span class="o">&gt;</span><span class="n">cc</span><span class="o">&lt;/</span><span class="k">c</span><span class="o">&gt;&lt;/</span><span class="n">a</span><span class="o">&gt;</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="o">/</span><span class="k">c</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">cc</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
</code></pre></div>
<h3 id="url-functions">URL Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>parse_url(url, partToExtract[, key])</td>
<td>Extracts a part from a URL.</td>
</tr>
<tr>
<td>try_parse_url(url, partToExtract[, key])</td>
<td>This is a special version of `parse_url` that performs the same operation, but returns a NULL value instead of raising an error if the parsing cannot be performed.</td>
</tr>
<tr>
<td>try_url_decode(str)</td>
<td>This is a special version of `url_decode` that performs the same operation, but returns a NULL value instead of raising an error if the decoding cannot be performed.</td>
</tr>
<tr>
<td>url_decode(str)</td>
<td>Decodes a `str` in 'application/x-www-form-urlencoded' format using a specific encoding scheme.</td>
</tr>
<tr>
<td>url_encode(str)</td>
<td>Translates a string into 'application/x-www-form-urlencoded' format using a specific encoding scheme.</td>
</tr>
</tbody>
</table>
<h4 id="examples-14">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- parse_url</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;HOST&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="n">parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">HOST</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;QUERY&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="n">parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">QUERY</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;QUERY&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;query&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">QUERY</span><span class="p">,</span><span class="w"> </span><span class="n">query</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="c1">-- try_parse_url</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;HOST&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">HOST</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;QUERY&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">QUERY</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_url</span><span class="p">(</span><span class="s1">&#39;inva lid://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;QUERY&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_parse_url</span><span class="p">(</span><span class="n">inva</span><span class="w"> </span><span class="n">lid</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">QUERY</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_url</span><span class="p">(</span><span class="s1">&#39;http://spark.apache.org/path?query=1&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;QUERY&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;query&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_parse_url</span><span class="p">(</span><span class="n">http</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="o">/</span><span class="n">path</span><span class="o">?</span><span class="n">query</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">QUERY</span><span class="p">,</span><span class="w"> </span><span class="n">query</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span>
<span class="c1">-- try_url_decode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_url_decode</span><span class="p">(</span><span class="s1">&#39;https%3A%2F%2Fspark.apache.org&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_url_decode</span><span class="p">(</span><span class="n">https</span><span class="o">%</span><span class="mi">3</span><span class="n">A</span><span class="o">%</span><span class="mi">2</span><span class="n">F</span><span class="o">%</span><span class="mi">2</span><span class="n">Fspark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apa</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------+</span>
<span class="c1">-- url_decode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">url_decode</span><span class="p">(</span><span class="s1">&#39;https%3A%2F%2Fspark.apache.org&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">url_decode</span><span class="p">(</span><span class="n">https</span><span class="o">%</span><span class="mi">3</span><span class="n">A</span><span class="o">%</span><span class="mi">2</span><span class="n">F</span><span class="o">%</span><span class="mi">2</span><span class="n">Fspark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apa</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="c1">-- url_encode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">url_encode</span><span class="p">(</span><span class="s1">&#39;https://spark.apache.org&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">url_encode</span><span class="p">(</span><span class="n">https</span><span class="p">:</span><span class="o">//</span><span class="n">spark</span><span class="p">.</span><span class="n">apache</span><span class="p">.</span><span class="n">org</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">https</span><span class="o">%</span><span class="mi">3</span><span class="n">A</span><span class="o">%</span><span class="mi">2</span><span class="n">F</span><span class="o">%</span><span class="mi">2</span><span class="n">Fspa</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
</code></pre></div>
<h3 id="bitwise-functions">Bitwise Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>expr1 &amp; expr2</td>
<td>Returns the result of bitwise AND of `expr1` and `expr2`.</td>
</tr>
<tr>
<td>base &lt;&lt; exp</td>
<td>Bitwise left shift.</td>
</tr>
<tr>
<td>base &gt;&gt; expr</td>
<td>Bitwise (signed) right shift.</td>
</tr>
<tr>
<td>base &gt;&gt;&gt; expr</td>
<td>Bitwise unsigned right shift.</td>
</tr>
<tr>
<td>expr1 ^ expr2</td>
<td>Returns the result of bitwise exclusive OR of `expr1` and `expr2`.</td>
</tr>
<tr>
<td>bit_count(expr)</td>
<td>Returns the number of bits that are set in the argument expr as an unsigned 64-bit integer, or NULL if the argument is NULL.</td>
</tr>
<tr>
<td>bit_get(expr, pos)</td>
<td>Returns the value of the bit (0 or 1) at the specified position.
The positions are numbered from right to left, starting at zero.
The position argument cannot be negative.</td>
</tr>
<tr>
<td>getbit(expr, pos)</td>
<td>Returns the value of the bit (0 or 1) at the specified position.
The positions are numbered from right to left, starting at zero.
The position argument cannot be negative.</td>
</tr>
<tr>
<td>base shiftleft exp</td>
<td>Bitwise left shift.</td>
</tr>
<tr>
<td>base shiftright expr</td>
<td>Bitwise (signed) right shift.</td>
</tr>
<tr>
<td>base shiftrightunsigned expr</td>
<td>Bitwise unsigned right shift.</td>
</tr>
<tr>
<td>expr1 | expr2</td>
<td>Returns the result of bitwise OR of `expr1` and `expr2`.</td>
</tr>
<tr>
<td>~ expr</td>
<td>Returns the result of bitwise NOT of `expr`.</td>
</tr>
</tbody>
</table>
<h4 id="examples-15">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- &amp;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="mi">5</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="o">&amp;</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- &lt;&lt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftleft</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">shiftleft</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- &gt;&gt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftright</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">shiftright</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- &gt;&gt;&gt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftrightunsigned</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">shiftrightunsigned</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- ^</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">^</span><span class="w"> </span><span class="mi">5</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="o">^</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- bit_count</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_count</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="n">bit_count</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="c1">-- bit_get</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_get</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">bit_get</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bit_get</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="n">bit_get</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- getbit</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">getbit</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">getbit</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">getbit</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">getbit</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- shiftleft</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftleft</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">shiftleft</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- shiftright</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftright</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">shiftright</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- shiftrightunsigned</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">shiftrightunsigned</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">shiftrightunsigned</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">4</span><span class="w"> </span><span class="o">&gt;&gt;&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- |</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">3</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="c1">-- ~</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">~</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="o">~</span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
</code></pre></div>
<h3 id="conversion-functions">Conversion Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>bigint(expr)</td>
<td>Casts the value `expr` to the target data type `bigint`.</td>
</tr>
<tr>
<td>binary(expr)</td>
<td>Casts the value `expr` to the target data type `binary`.</td>
</tr>
<tr>
<td>boolean(expr)</td>
<td>Casts the value `expr` to the target data type `boolean`.</td>
</tr>
<tr>
<td>cast(expr AS type)</td>
<td>Casts the value `expr` to the target data type `type`. `expr` :: `type` alternative casting syntax is also supported.</td>
</tr>
<tr>
<td>date(expr)</td>
<td>Casts the value `expr` to the target data type `date`.</td>
</tr>
<tr>
<td>decimal(expr)</td>
<td>Casts the value `expr` to the target data type `decimal`.</td>
</tr>
<tr>
<td>double(expr)</td>
<td>Casts the value `expr` to the target data type `double`.</td>
</tr>
<tr>
<td>float(expr)</td>
<td>Casts the value `expr` to the target data type `float`.</td>
</tr>
<tr>
<td>int(expr)</td>
<td>Casts the value `expr` to the target data type `int`.</td>
</tr>
<tr>
<td>smallint(expr)</td>
<td>Casts the value `expr` to the target data type `smallint`.</td>
</tr>
<tr>
<td>string(expr)</td>
<td>Casts the value `expr` to the target data type `string`.</td>
</tr>
<tr>
<td>timestamp(expr)</td>
<td>Casts the value `expr` to the target data type `timestamp`.</td>
</tr>
<tr>
<td>tinyint(expr)</td>
<td>Casts the value `expr` to the target data type `tinyint`.</td>
</tr>
</tbody>
</table>
<h4 id="examples-16">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- cast</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">cast</span><span class="p">(</span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nb">int</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">CAST</span><span class="p">(</span><span class="mi">10</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;10&#39;</span><span class="w"> </span><span class="p">::</span><span class="w"> </span><span class="nb">int</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="k">CAST</span><span class="p">(</span><span class="mi">10</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
</code></pre></div>
<h3 id="predicate-functions">Predicate Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>! expr</td>
<td>Logical not.</td>
</tr>
<tr>
<td>expr1 &lt; expr2</td>
<td>Returns true if `expr1` is less than `expr2`.</td>
</tr>
<tr>
<td>expr1 &lt;= expr2</td>
<td>Returns true if `expr1` is less than or equal to `expr2`.</td>
</tr>
<tr>
<td>expr1 &lt;=&gt; expr2</td>
<td>Returns same result as the EQUAL(=) operator for non-null operands,
but returns true if both are null, false if one of the them is null.</td>
</tr>
<tr>
<td>expr1 = expr2</td>
<td>Returns true if `expr1` equals `expr2`, or false otherwise.</td>
</tr>
<tr>
<td>expr1 == expr2</td>
<td>Returns true if `expr1` equals `expr2`, or false otherwise.</td>
</tr>
<tr>
<td>expr1 &gt; expr2</td>
<td>Returns true if `expr1` is greater than `expr2`.</td>
</tr>
<tr>
<td>expr1 &gt;= expr2</td>
<td>Returns true if `expr1` is greater than or equal to `expr2`.</td>
</tr>
<tr>
<td>expr1 and expr2</td>
<td>Logical AND.</td>
</tr>
<tr>
<td>equal_null(expr1, expr2)</td>
<td>Returns same result as the EQUAL(=) operator for non-null operands,
but returns true if both are null, false if one of the them is null.</td>
</tr>
<tr>
<td>str ilike pattern[ ESCAPE escape]</td>
<td>Returns true if str matches `pattern` with `escape` case-insensitively, null if any arguments are null, false otherwise.</td>
</tr>
<tr>
<td>expr1 in(expr2, expr3, ...)</td>
<td>Returns true if `expr` equals to any valN.</td>
</tr>
<tr>
<td>isnan(expr)</td>
<td>Returns true if `expr` is NaN, or false otherwise.</td>
</tr>
<tr>
<td>isnotnull(expr)</td>
<td>Returns true if `expr` is not null, or false otherwise.</td>
</tr>
<tr>
<td>isnull(expr)</td>
<td>Returns true if `expr` is null, or false otherwise.</td>
</tr>
<tr>
<td>str like pattern[ ESCAPE escape]</td>
<td>Returns true if str matches `pattern` with `escape`, null if any arguments are null, false otherwise.</td>
</tr>
<tr>
<td>not expr</td>
<td>Logical not.</td>
</tr>
<tr>
<td>expr1 or expr2</td>
<td>Logical OR.</td>
</tr>
<tr>
<td>regexp(str, regexp)</td>
<td>Returns true if `str` matches `regexp`, or false otherwise.</td>
</tr>
<tr>
<td>regexp_like(str, regexp)</td>
<td>Returns true if `str` matches `regexp`, or false otherwise.</td>
</tr>
<tr>
<td>rlike(str, regexp)</td>
<td>Returns true if `str` matches `regexp`, or false otherwise.</td>
</tr>
</tbody>
</table>
<h4 id="examples-17">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- !</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">!</span><span class="w"> </span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">!</span><span class="w"> </span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">!</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- &lt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-08-01 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- &lt;=</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-08-01 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- &lt;=&gt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="o">&lt;=&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- =</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- ==</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s1">&#39;1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">NULL</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- &gt;</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-08-01 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- &gt;=</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="s1">&#39;2.1&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-07-30 04:17:52&#39;</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">&#39;2009-08-01 04:17:52&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">)</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">04</span><span class="p">:</span><span class="mi">17</span><span class="p">:</span><span class="mi">52</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o">&gt;=</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- and</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">false</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">false</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- equal_null</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">equal_null</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">equal_null</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">equal_null</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;11&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">equal_null</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">equal_null</span><span class="p">(</span><span class="k">true</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">equal_null</span><span class="p">(</span><span class="k">true</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">equal_null</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;abc&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">equal_null</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">abc</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">equal_null</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">equal_null</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="c1">-- ilike</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">ilike</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;_Park&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="n">_Park</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;\\abc&#39;</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">S</span><span class="p">,</span><span class="w"> </span><span class="n">S</span><span class="w"> </span><span class="k">ilike</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;\\abc&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">S</span><span class="w"> </span><span class="k">ilike</span><span class="w"> </span><span class="s1">&#39;\\\\abc&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----+--------------------------------------+--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">S</span><span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="n">lateralAliasReference</span><span class="p">(</span><span class="n">S</span><span class="p">),</span><span class="w"> </span><span class="err">\\</span><span class="n">abc</span><span class="p">)</span><span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="n">lateralAliasReference</span><span class="p">(</span><span class="n">S</span><span class="p">),</span><span class="w"> </span><span class="err">\\</span><span class="n">abc</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+--------------------------------------+--------------------------------------+</span>
<span class="o">|</span><span class="err">\</span><span class="n">abc</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+--------------------------------------+--------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\Users\John&#39;</span><span class="w"> </span><span class="k">ilike</span><span class="w"> </span><span class="s1">&#39;\%SystemDrive\%\\users%&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="err">\</span><span class="o">%</span><span class="n">SystemDrive</span><span class="err">\</span><span class="o">%</span><span class="err">\\</span><span class="n">users</span><span class="o">%</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\USERS\\John&#39;</span><span class="w"> </span><span class="k">ilike</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;%SystemDrive%\\Users%&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">USERS</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="o">%</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%/Users/John&#39;</span><span class="w"> </span><span class="k">ilike</span><span class="w"> </span><span class="s1">&#39;/%SYSTEMDrive/%//Users%&#39;</span><span class="w"> </span><span class="k">ESCAPE</span><span class="w"> </span><span class="s1">&#39;/&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="k">ilike</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%/</span><span class="n">Users</span><span class="o">/</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">/%</span><span class="n">SYSTEMDrive</span><span class="o">/%//</span><span class="n">Users</span><span class="o">%</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="c1">-- in</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">in</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">in</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">in</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="k">IN</span><span class="w"> </span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------------------+</span>
<span class="c1">-- isnan</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">isnan</span><span class="p">(</span><span class="k">cast</span><span class="p">(</span><span class="s1">&#39;NaN&#39;</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">double</span><span class="p">));</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">isnan</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">NaN</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="c1">-- isnotnull</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">isnotnull</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- isnull</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">isnull</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- like</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">like</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;_park&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">Spark</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="n">_park</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;\\abc&#39;</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">S</span><span class="p">,</span><span class="w"> </span><span class="n">S</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;\\abc&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">S</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="s1">&#39;\\\\abc&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----+-----------------------------------+-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">S</span><span class="o">|</span><span class="n">lateralAliasReference</span><span class="p">(</span><span class="n">S</span><span class="p">)</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="err">\\</span><span class="n">abc</span><span class="o">|</span><span class="n">lateralAliasReference</span><span class="p">(</span><span class="n">S</span><span class="p">)</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="err">\\</span><span class="n">abc</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+-----------------------------------+-----------------------------------+</span>
<span class="o">|</span><span class="err">\</span><span class="n">abc</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+-----------------------------------+-----------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\Users\John&#39;</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="s1">&#39;\%SystemDrive\%\\Users%&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="err">\</span><span class="o">%</span><span class="n">SystemDrive</span><span class="err">\</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="o">%|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;%SystemDrive%\\Users%&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="o">%|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%/Users/John&#39;</span><span class="w"> </span><span class="k">like</span><span class="w"> </span><span class="s1">&#39;/%SystemDrive/%//Users%&#39;</span><span class="w"> </span><span class="k">ESCAPE</span><span class="w"> </span><span class="s1">&#39;/&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|%</span><span class="n">SystemDrive</span><span class="o">%/</span><span class="n">Users</span><span class="o">/</span><span class="n">John</span><span class="w"> </span><span class="k">LIKE</span><span class="w"> </span><span class="o">/%</span><span class="n">SystemDrive</span><span class="o">/%//</span><span class="n">Users</span><span class="o">%</span><span class="w"> </span><span class="k">ESCAPE</span><span class="w"> </span><span class="s1">&#39;/&#39;</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------+</span>
<span class="c1">-- not</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">NOT</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------+</span>
<span class="c1">-- or</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">false</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">false</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">true</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">true</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">false</span><span class="w"> </span><span class="k">or</span><span class="w"> </span><span class="k">NULL</span><span class="p">;</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="p">(</span><span class="k">false</span><span class="w"> </span><span class="k">OR</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- regexp</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\Users\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="c1">-- regexp_like</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp_like</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\Users\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP_LIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp_like</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP_LIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regexp_like</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">REGEXP_LIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------+</span>
<span class="c1">-- rlike</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">true</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rlike</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\Users\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="n">RLIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="k">SET</span><span class="w"> </span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">.</span><span class="n">escapedStringLiterals</span><span class="o">=</span><span class="k">false</span><span class="p">;</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="o">|</span><span class="n">spark</span><span class="p">.</span><span class="k">sql</span><span class="p">.</span><span class="n">parser</span><span class="p">....</span><span class="o">|</span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+-----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rlike</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%SystemDrive%\\\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="n">RLIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">rlike</span><span class="p">(</span><span class="s1">&#39;%SystemDrive%\\Users\\John&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">r</span><span class="s1">&#39;%SystemDrive%\\Users.*&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="n">RLIKE</span><span class="p">(</span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\</span><span class="n">Users</span><span class="err">\</span><span class="n">John</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="n">SystemDrive</span><span class="o">%</span><span class="err">\\</span><span class="n">Users</span><span class="p">.</span><span class="o">*</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------+</span>
</code></pre></div>
<h3 id="misc-functions">Misc Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>aes_decrypt(expr, key[, mode[, padding[, aad]]])</td>
<td>Returns a decrypted value of `expr` using AES in `mode` with `padding`.
Key lengths of 16, 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', 'PKCS'), ('GCM', 'NONE') and ('CBC', 'PKCS').
Optional additional authenticated data (AAD) is only supported for GCM. If provided for encryption, the identical AAD value must be provided for decryption.
The default mode is GCM.</td>
</tr>
<tr>
<td>aes_encrypt(expr, key[, mode[, padding[, iv[, aad]]]])</td>
<td>Returns an encrypted value of `expr` using AES in given `mode` with the specified `padding`.
Key lengths of 16, 24 and 32 bits are supported. Supported combinations of (`mode`, `padding`) are ('ECB', 'PKCS'), ('GCM', 'NONE') and ('CBC', 'PKCS').
Optional initialization vectors (IVs) are only supported for CBC and GCM modes. These must be 16 bytes for CBC and 12 bytes for GCM. If not provided, a random vector will be generated and prepended to the output.
Optional additional authenticated data (AAD) is only supported for GCM. If provided for encryption, the identical AAD value must be provided for decryption.
The default mode is GCM.</td>
</tr>
<tr>
<td>assert_true(expr [, message])</td>
<td>Throws an exception if `expr` is not true.</td>
</tr>
<tr>
<td>bitmap_bit_position(child)</td>
<td>Returns the bit position for the given input child expression.</td>
</tr>
<tr>
<td>bitmap_bucket_number(child)</td>
<td>Returns the bucket number for the given input child expression.</td>
</tr>
<tr>
<td>bitmap_count(child)</td>
<td>Returns the number of set bits in the child bitmap.</td>
</tr>
<tr>
<td>current_catalog()</td>
<td>Returns the current catalog.</td>
</tr>
<tr>
<td>current_database()</td>
<td>Returns the current database.</td>
</tr>
<tr>
<td>current_schema()</td>
<td>Returns the current database.</td>
</tr>
<tr>
<td>current_user()</td>
<td>user name of current execution context.</td>
</tr>
<tr>
<td>from_avro(child, jsonFormatSchema, options)</td>
<td>Converts a binary Avro value into a Catalyst value.</td>
</tr>
<tr>
<td>from_protobuf(data, messageName, descFilePath, options)</td>
<td>Converts a binary Protobuf value into a Catalyst value.</td>
</tr>
<tr>
<td>hll_sketch_estimate(expr)</td>
<td>Returns the estimated number of unique values given the binary representation
of a Datasketches HllSketch.</td>
</tr>
<tr>
<td>hll_union(first, second, allowDifferentLgConfigK)</td>
<td>Merges two binary representations of
Datasketches HllSketch objects, using a Datasketches Union object. Set
allowDifferentLgConfigK to true to allow unions of sketches with different
lgConfigK values (defaults to false).</td>
</tr>
<tr>
<td>input_file_block_length()</td>
<td>Returns the length of the block being read, or -1 if not available.</td>
</tr>
<tr>
<td>input_file_block_start()</td>
<td>Returns the start offset of the block being read, or -1 if not available.</td>
</tr>
<tr>
<td>input_file_name()</td>
<td>Returns the name of the file being read, or empty string if not available.</td>
</tr>
<tr>
<td>java_method(class, method[, arg1[, arg2 ..]])</td>
<td>Calls a method with reflection.</td>
</tr>
<tr>
<td>monotonically_increasing_id()</td>
<td>Returns monotonically increasing 64-bit integers. The generated ID is guaranteed
to be monotonically increasing and unique, but not consecutive. The current implementation
puts the partition ID in the upper 31 bits, and the lower 33 bits represent the record number
within each partition. The assumption is that the data frame has less than 1 billion
partitions, and each partition has less than 8 billion records.
The function is non-deterministic because its result depends on partition IDs.</td>
</tr>
<tr>
<td>reflect(class, method[, arg1[, arg2 ..]])</td>
<td>Calls a method with reflection.</td>
</tr>
<tr>
<td>schema_of_avro(jsonFormatSchema, options)</td>
<td>Returns schema in the DDL format of the avro schema in JSON string format.</td>
</tr>
<tr>
<td>session_user()</td>
<td>user name of current execution context.</td>
</tr>
<tr>
<td>spark_partition_id()</td>
<td>Returns the current partition id.</td>
</tr>
<tr>
<td>to_avro(child[, jsonFormatSchema])</td>
<td>Converts a Catalyst binary input value into its
corresponding Avro format result.</td>
</tr>
<tr>
<td>to_protobuf(child, messageName, descFilePath, options)</td>
<td>Converts a Catalyst binary input value into its corresponding
Protobuf format result.</td>
</tr>
<tr>
<td>try_aes_decrypt(expr, key[, mode[, padding[, aad]]])</td>
<td>This is a special version of `aes_decrypt` that performs the same operation, but returns a NULL value instead of raising an error if the decryption cannot be performed.</td>
</tr>
<tr>
<td>try_reflect(class, method[, arg1[, arg2 ..]])</td>
<td>This is a special version of `reflect` that performs the same operation, but returns a NULL value instead of raising an error if the invoke method thrown exception.</td>
</tr>
<tr>
<td>typeof(expr)</td>
<td>Return DDL-formatted type string for the data type of the input.</td>
</tr>
<tr>
<td>user()</td>
<td>user name of current execution context.</td>
</tr>
<tr>
<td>uuid()</td>
<td>Returns an universally unique identifier (UUID) string. The value is returned as a canonical UUID 36-character string.</td>
</tr>
<tr>
<td>version()</td>
<td>Returns the Spark version. The string contains 2 fields, the first being a release version and the second being a git revision.</td>
</tr>
</tbody>
</table>
<h4 id="examples-18">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- aes_decrypt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="mi">83</span><span class="n">F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94</span><span class="p">),</span><span class="w"> </span><span class="mi">0000111122223333</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="mi">6</span><span class="n">E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210</span><span class="p">),</span><span class="w"> </span><span class="mi">0000111122223333</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">2</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="s1">&#39;3lmwu+Mw0H3fi5NDvcu9lg==&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;1234567890abcdef&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;ECB&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;PKCS&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="mi">3</span><span class="n">lmwu</span><span class="o">+</span><span class="n">Mw0H3fi5NDvcu9lg</span><span class="o">==</span><span class="p">),</span><span class="w"> </span><span class="mi">1234567890</span><span class="n">abcdef</span><span class="p">,</span><span class="w"> </span><span class="n">ECB</span><span class="p">,</span><span class="w"> </span><span class="n">PKCS</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">2</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="s1">&#39;2NYmDCjgXTbbxGA3/SnJEfFC/JQ7olk2VQWReIAAFKo=&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;1234567890abcdef&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CBC&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="mi">2</span><span class="n">NYmDCjgXTbbxGA3</span><span class="o">/</span><span class="n">SnJEfFC</span><span class="o">/</span><span class="n">JQ7olk2VQWReIAAFKo</span><span class="o">=</span><span class="p">),</span><span class="w"> </span><span class="mi">1234567890</span><span class="n">abcdef</span><span class="p">,</span><span class="w"> </span><span class="n">CBC</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">41</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">63</span><span class="w"> </span><span class="mi">68</span><span class="w"> </span><span class="mi">6</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="s1">&#39;AAAAAAAAAAAAAAAAAAAAAPSd4mWyMZ5mhvjiAPQJnfg=&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;abcdefghijklmnop12345678ABCDEFGH&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CBC&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;DEFAULT&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="n">AAAAAAAAAAAAAAAAAAAAAPSd4mWyMZ5mhvjiAPQJnfg</span><span class="o">=</span><span class="p">),</span><span class="w"> </span><span class="n">abcdefghijklmnop12345678ABCDEFGH</span><span class="p">,</span><span class="w"> </span><span class="n">CBC</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="s1">&#39;AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;abcdefghijklmnop12345678ABCDEFGH&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;DEFAULT&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;This is an AAD mixed into the input&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">aes_decrypt</span><span class="p">(</span><span class="n">unbase64</span><span class="p">(</span><span class="n">AAAAAAAAAAAAAAAAQiYi</span><span class="o">+</span><span class="n">sTLm7KD9UcZ2nlRdYDe</span><span class="o">/</span><span class="n">PX4</span><span class="p">),</span><span class="w"> </span><span class="n">abcdefghijklmnop12345678ABCDEFGH</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="n">This</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">an</span><span class="w"> </span><span class="n">AAD</span><span class="w"> </span><span class="n">mixed</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">input</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- aes_encrypt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="mi">0000111122223333</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">501</span><span class="n">F1F310ABB38082</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="mi">0000111122223333</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">A8BF449C01BD97A5D</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;1234567890abcdef&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;ECB&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;PKCS&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">,</span><span class="w"> </span><span class="mi">1234567890</span><span class="n">abcdef</span><span class="p">,</span><span class="w"> </span><span class="n">ECB</span><span class="p">,</span><span class="w"> </span><span class="n">PKCS</span><span class="p">,</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="n">lmwu</span><span class="o">+</span><span class="n">Mw0H3fi5NDv</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Apache Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;1234567890abcdef&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CBC&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;DEFAULT&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Apache</span><span class="w"> </span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="mi">1234567890</span><span class="n">abcdef</span><span class="p">,</span><span class="w"> </span><span class="n">CBC</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">zWe8sRYeIm7BIE7FS</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;abcdefghijklmnop12345678ABCDEFGH&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;CBC&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;DEFAULT&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;00000000000000000000000000000000&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="n">abcdefghijklmnop12345678ABCDEFGH</span><span class="p">,</span><span class="w"> </span><span class="n">CBC</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="mi">00000000000000000000000000000000</span><span class="p">),</span><span class="w"> </span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AAAAAAAAAAAAAAAAA</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;abcdefghijklmnop12345678ABCDEFGH&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;DEFAULT&#39;</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;000000000000000000000000&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;This is an AAD mixed into the input&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">base64</span><span class="p">(</span><span class="n">aes_encrypt</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="n">abcdefghijklmnop12345678ABCDEFGH</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="n">unhex</span><span class="p">(</span><span class="mi">000000000000000000000000</span><span class="p">),</span><span class="w"> </span><span class="n">This</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="n">an</span><span class="w"> </span><span class="n">AAD</span><span class="w"> </span><span class="n">mixed</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="k">input</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">AAAAAAAAAAAAAAAAQ</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- assert_true</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">assert_true</span><span class="p">(</span><span class="mi">0</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">assert_true</span><span class="p">((</span><span class="mi">0</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;(0 &lt; 1)&#39;</span><span class="w"> </span><span class="k">is</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="k">true</span><span class="o">!</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- bitmap_bit_position</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="mi">123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">bitmap_bit_position</span><span class="p">(</span><span class="mi">123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">122</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- bitmap_bucket_number</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_bucket_number</span><span class="p">(</span><span class="mi">123</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">bitmap_bucket_number</span><span class="p">(</span><span class="mi">123</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_bucket_number</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">bitmap_bucket_number</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- bitmap_count</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;1010&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;1010&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;FFFF&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;FFFF&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">16</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="w"> </span><span class="s1">&#39;0&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="n">bitmap_count</span><span class="p">(</span><span class="n">X</span><span class="s1">&#39;00&#39;</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- current_catalog</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">current_catalog</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">current_catalog</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">spark_catalog</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- current_database</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">current_database</span><span class="p">();</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">current_schema</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">default</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- current_schema</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">current_schema</span><span class="p">();</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">current_schema</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">default</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- current_user</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">current_user</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="k">current_user</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">spark</span><span class="o">-</span><span class="n">rm</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- hll_sketch_estimate</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- hll_union</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_union</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col1</span><span class="p">),</span><span class="w"> </span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col2</span><span class="p">)))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span><span class="w"> </span><span class="n">col2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">hll_sketch_estimate</span><span class="p">(</span><span class="n">hll_union</span><span class="p">(</span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">),</span><span class="w"> </span><span class="n">hll_sketch_agg</span><span class="p">(</span><span class="n">col2</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">),</span><span class="w"> </span><span class="k">false</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------+</span>
<span class="c1">-- input_file_block_length</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">input_file_block_length</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="n">input_file_block_length</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------+</span>
<span class="c1">-- input_file_block_start</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">input_file_block_start</span><span class="p">();</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="n">input_file_block_start</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------+</span>
<span class="c1">-- input_file_name</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">input_file_name</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="n">input_file_name</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- java_method</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">java_method</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;randomUUID&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">java_method</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">randomUUID</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">e4817321</span><span class="o">-</span><span class="mi">2</span><span class="n">b56</span><span class="o">-</span><span class="mi">4</span><span class="n">a7</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">java_method</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;fromString&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a5cf6c42-0c85-418f-af6c-3e4e5b1328f2&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">java_method</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">fromString</span><span class="p">,</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="n">f</span><span class="o">-</span><span class="n">af6c</span><span class="o">-</span><span class="mi">3</span><span class="n">e4e5b1328f2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="c1">-- monotonically_increasing_id</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">monotonically_increasing_id</span><span class="p">();</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="n">monotonically_increasing_id</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="c1">-- reflect</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reflect</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;randomUUID&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">reflect</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">randomUUID</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="n">ff98edb</span><span class="o">-</span><span class="mi">845</span><span class="n">e</span><span class="o">-</span><span class="mi">4</span><span class="n">bd</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reflect</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;fromString&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a5cf6c42-0c85-418f-af6c-3e4e5b1328f2&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">reflect</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">fromString</span><span class="p">,</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="n">f</span><span class="o">-</span><span class="n">af6c</span><span class="o">-</span><span class="mi">3</span><span class="n">e4e5b1328f2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------------------------------+</span>
<span class="c1">-- schema_of_avro</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_avro</span><span class="p">(</span><span class="s1">&#39;{&quot;type&quot;: &quot;record&quot;, &quot;name&quot;: &quot;struct&quot;, &quot;fields&quot;: [{&quot;name&quot;: &quot;u&quot;, &quot;type&quot;: [&quot;int&quot;, &quot;string&quot;]}]}&#39;</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">());</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_avro</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;record&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;struct&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;fields&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">&quot;name&quot;</span><span class="p">:</span><span class="w"> </span><span class="ss">&quot;u&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;type&quot;</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="ss">&quot;int&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;string&quot;</span><span class="p">]</span><span class="err">}</span><span class="p">]</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">())</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="n">u</span><span class="p">:</span><span class="w"> </span><span class="n">STRUCT</span><span class="o">&lt;</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- session_user</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">session_user</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="k">session_user</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">spark</span><span class="o">-</span><span class="n">rm</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------+</span>
<span class="c1">-- spark_partition_id</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">spark_partition_id</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="n">SPARK_PARTITION_ID</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- try_aes_decrypt</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;6E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="mi">6</span><span class="n">E7CA17BBB468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210</span><span class="p">),</span><span class="w"> </span><span class="mi">0000111122223333</span><span class="p">,</span><span class="w"> </span><span class="n">GCM</span><span class="p">,</span><span class="w"> </span><span class="k">DEFAULT</span><span class="p">,</span><span class="w"> </span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">53</span><span class="w"> </span><span class="mi">70</span><span class="w"> </span><span class="mi">61</span><span class="w"> </span><span class="mi">72</span><span class="w"> </span><span class="mi">6</span><span class="n">B</span><span class="w"> </span><span class="mi">2</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="s1">&#39;----------468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;0000111122223333&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;GCM&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_aes_decrypt</span><span class="p">(</span><span class="n">unhex</span><span class="p">(</span><span class="c1">----------468D3084B5744BCA729FB7B2B7BCB8E4472847D02670489D95FA97DBBA7D3210), 0000111122223333, GCM, DEFAULT, )|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------------------------------------------------------------------------------------------------+</span>
<span class="c1">-- try_reflect</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_reflect</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;randomUUID&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">try_reflect</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">randomUUID</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">b1aabc60</span><span class="o">-</span><span class="mi">9389</span><span class="o">-</span><span class="mi">423</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_reflect</span><span class="p">(</span><span class="s1">&#39;java.util.UUID&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;fromString&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a5cf6c42-0c85-418f-af6c-3e4e5b1328f2&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">try_reflect</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">util</span><span class="p">.</span><span class="n">UUID</span><span class="p">,</span><span class="w"> </span><span class="n">fromString</span><span class="p">,</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="n">f</span><span class="o">-</span><span class="n">af6c</span><span class="o">-</span><span class="mi">3</span><span class="n">e4e5b1328f2</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">a5cf6c42</span><span class="o">-</span><span class="mi">0</span><span class="n">c85</span><span class="o">-</span><span class="mi">418</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_reflect</span><span class="p">(</span><span class="s1">&#39;java.net.URLDecoder&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;decode&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;%&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">try_reflect</span><span class="p">(</span><span class="n">java</span><span class="p">.</span><span class="n">net</span><span class="p">.</span><span class="n">URLDecoder</span><span class="p">,</span><span class="w"> </span><span class="n">decode</span><span class="p">,</span><span class="w"> </span><span class="o">%</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="c1">-- typeof</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">typeof</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="n">typeof</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">int</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">typeof</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">typeof</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">array</span><span class="o">&lt;</span><span class="nb">int</span><span class="o">&gt;|</span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- user</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">user</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">user</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">spark</span><span class="o">-</span><span class="n">rm</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- uuid</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">uuid</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">uuid</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">8</span><span class="n">d30c122</span><span class="o">-</span><span class="n">eeeb</span><span class="o">-</span><span class="mi">4</span><span class="n">fa</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="c1">-- version</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">version</span><span class="p">();</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">version</span><span class="p">()</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">4</span><span class="p">.</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="n">f3ac67ee9b3</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------+</span>
</code></pre></div>
<h3 id="generator-functions">Generator Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>collations()</td>
<td>Get all of the Spark SQL string collations</td>
</tr>
<tr>
<td>explode(expr)</td>
<td>Separates the elements of array `expr` into multiple rows, or the elements of map `expr` into multiple rows and columns. Unless specified otherwise, uses the default column name `col` for elements of the array or `key` and `value` for the elements of the map.</td>
</tr>
<tr>
<td>explode_outer(expr)</td>
<td>Separates the elements of array `expr` into multiple rows, or the elements of map `expr` into multiple rows and columns. Unless specified otherwise, uses the default column name `col` for elements of the array or `key` and `value` for the elements of the map.</td>
</tr>
<tr>
<td>inline(expr)</td>
<td>Explodes an array of structs into a table. Uses column names col1, col2, etc. by default unless specified otherwise.</td>
</tr>
<tr>
<td>inline_outer(expr)</td>
<td>Explodes an array of structs into a table. Uses column names col1, col2, etc. by default unless specified otherwise.</td>
</tr>
<tr>
<td>posexplode(expr)</td>
<td>Separates the elements of array `expr` into multiple rows with positions, or the elements of map `expr` into multiple rows and columns with positions. Unless specified otherwise, uses the column name `pos` for position, `col` for elements of the array or `key` and `value` for elements of the map.</td>
</tr>
<tr>
<td>posexplode_outer(expr)</td>
<td>Separates the elements of array `expr` into multiple rows with positions, or the elements of map `expr` into multiple rows and columns with positions. Unless specified otherwise, uses the column name `pos` for position, `col` for elements of the array or `key` and `value` for elements of the map.</td>
</tr>
<tr>
<td>sql_keywords()</td>
<td>Get Spark SQL keywords</td>
</tr>
<tr>
<td>stack(n, expr1, ..., exprk)</td>
<td>Separates `expr1`, ..., `exprk` into `n` rows. Uses column names col0, col1, etc. by default unless specified otherwise.</td>
</tr>
</tbody>
</table>
<h4 id="examples-19">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- collations</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">collations</span><span class="p">()</span><span class="w"> </span><span class="k">WHERE</span><span class="w"> </span><span class="n">NAME</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">&#39;UTF8_BINARY&#39;</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+-------+-----------+--------+-------+------------------+----------------+-------------+-----------+</span>
<span class="o">|</span><span class="k">CATALOG</span><span class="o">|</span><span class="w"> </span><span class="k">SCHEMA</span><span class="o">|</span><span class="w"> </span><span class="n">NAME</span><span class="o">|</span><span class="k">LANGUAGE</span><span class="o">|</span><span class="n">COUNTRY</span><span class="o">|</span><span class="n">ACCENT_SENSITIVITY</span><span class="o">|</span><span class="n">CASE_SENSITIVITY</span><span class="o">|</span><span class="n">PAD_ATTRIBUTE</span><span class="o">|</span><span class="n">ICU_VERSION</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+-------+-----------+--------+-------+------------------+----------------+-------------+-----------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">SYSTEM</span><span class="o">|</span><span class="n">BUILTIN</span><span class="o">|</span><span class="n">UTF8_BINARY</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span><span class="w"> </span><span class="n">ACCENT_SENSITIVE</span><span class="o">|</span><span class="w"> </span><span class="n">CASE_SENSITIVE</span><span class="o">|</span><span class="w"> </span><span class="n">NO_PAD</span><span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+-------+-----------+--------+-------+------------------+----------------+-------------+-----------+</span>
<span class="c1">-- explode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">explode</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">explode</span><span class="p">(</span><span class="n">collection</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="c1">-- explode_outer</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">explode_outer</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">explode_outer</span><span class="p">(</span><span class="n">collection</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="c1">-- inline</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">inline</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="n">col1</span><span class="o">|</span><span class="n">col2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">inline</span><span class="p">(</span><span class="k">input</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="n">col1</span><span class="o">|</span><span class="n">col2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="c1">-- inline_outer</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">inline_outer</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="n">col1</span><span class="o">|</span><span class="n">col2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">inline_outer</span><span class="p">(</span><span class="k">input</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;a&#39;</span><span class="p">),</span><span class="w"> </span><span class="n">struct</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="n">col1</span><span class="o">|</span><span class="n">col2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="c1">-- posexplode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">posexplode</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">posexplode</span><span class="p">(</span><span class="n">collection</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="c1">-- posexplode_outer</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">posexplode_outer</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">posexplode_outer</span><span class="p">(</span><span class="n">collection</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="n">col</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+</span>
<span class="c1">-- sql_keywords</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">sql_keywords</span><span class="p">()</span><span class="w"> </span><span class="k">LIMIT</span><span class="w"> </span><span class="mi">2</span><span class="p">;</span>
<span class="o">+</span><span class="c1">-------+--------+</span>
<span class="o">|</span><span class="n">keyword</span><span class="o">|</span><span class="n">reserved</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+--------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">ADD</span><span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="k">AFTER</span><span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------+--------+</span>
<span class="c1">-- stack</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">stack</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="n">col0</span><span class="o">|</span><span class="n">col1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----+----+</span>
</code></pre></div>
<h3 id="table-functions">Table Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>range(start[, end[, step[, numSlices]]]) / range(end)</td>
<td>Returns a table of values within a specified range.</td>
</tr>
</tbody>
</table>
<h4 id="examples-20">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- range</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">range</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">id</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">id</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">range</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="n">id</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+</span>
</code></pre></div>
<h3 id="variant-functions">Variant Functions</h3>
<table class="table">
<thead>
<tr>
<th style="width:25%">Function</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>is_variant_null(expr)</td>
<td>Check if a variant value is a variant null. Returns true if and only if the input is a variant null and false otherwise (including in the case of SQL NULL).</td>
</tr>
<tr>
<td>parse_json(jsonStr)</td>
<td>Parse a JSON string as a Variant value. Throw an exception when the string is not valid JSON value.</td>
</tr>
<tr>
<td>schema_of_variant(v)</td>
<td>Returns schema in the SQL format of a variant.</td>
</tr>
<tr>
<td>schema_of_variant_agg(v)</td>
<td>Returns the merged schema in the SQL format of a variant column.</td>
</tr>
<tr>
<td>to_variant_object(expr)</td>
<td>Convert a nested input (array/map/struct) into a variant where maps and structs are converted to variant objects which are unordered unlike SQL structs. Input maps can only have string keys.</td>
</tr>
<tr>
<td>try_parse_json(jsonStr)</td>
<td>Parse a JSON string as a Variant value. Return NULL when the string is not valid JSON value.</td>
</tr>
<tr>
<td>try_variant_get(v, path[, type])</td>
<td>Extracts a sub-variant from `v` according to `path`, and then cast the sub-variant to `type`. When `type` is omitted, it is default to `variant`. Returns null if the path does not exist or the cast fails.</td>
</tr>
<tr>
<td>variant_explode(expr)</td>
<td>It separates a variant object/array into multiple rows containing its fields/elements. Its result schema is `struct&lt;pos int, key string, value variant&gt;`. `pos` is the position of the field/element in its parent object/array, and `value` is the field/element value. `key` is the field name when exploding a variant object, or is NULL when exploding a variant array. It ignores any input that is not a variant array/object, including SQL NULL, variant null, and any other variant values.</td>
</tr>
<tr>
<td>variant_explode_outer(expr)</td>
<td>It separates a variant object/array into multiple rows containing its fields/elements. Its result schema is `struct&lt;pos int, key string, value variant&gt;`. `pos` is the position of the field/element in its parent object/array, and `value` is the field/element value. `key` is the field name when exploding a variant object, or is NULL when exploding a variant array. It ignores any input that is not a variant array/object, including SQL NULL, variant null, and any other variant values.</td>
</tr>
<tr>
<td>variant_get(v, path[, type])</td>
<td>Extracts a sub-variant from `v` according to `path`, and then cast the sub-variant to `type`. When `type` is omitted, it is default to `variant`. Returns null if the path does not exist. Throws an exception if the cast fails.</td>
</tr>
</tbody>
</table>
<h4 id="examples-21">Examples</h4>
<div class="codehilite"><pre><span></span><code><span class="c1">-- is_variant_null</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;null&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="k">null</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;&quot;null&quot;&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="ss">&quot;null&quot;</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;13&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="mi">13</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="k">null</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="k">NULL</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:null, &quot;b&quot;:&quot;spark&quot;}&#39;</span><span class="p">),</span><span class="w"> </span><span class="ss">&quot;$.c&quot;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="ss">&quot;spark&quot;</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="k">c</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:null, &quot;b&quot;:&quot;spark&quot;}&#39;</span><span class="p">),</span><span class="w"> </span><span class="ss">&quot;$.a&quot;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="n">is_variant_null</span><span class="p">(</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="ss">&quot;spark&quot;</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">a</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span>
<span class="c1">-- parse_json</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:1,&quot;b&quot;:0.8}&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="c1">-- schema_of_variant</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_variant</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;null&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_variant</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="k">null</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">VOID</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_variant</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[{&quot;b&quot;:true,&quot;a&quot;:0}]&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_variant</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="err">{</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="k">true</span><span class="p">,</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">0</span><span class="err">}</span><span class="p">]))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">ARRAY</span><span class="o">&lt;</span><span class="k">OBJECT</span><span class="o">&lt;</span><span class="n">a</span><span class="p">:</span><span class="w"> </span><span class="n">B</span><span class="p">...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="c1">-- schema_of_variant_agg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_variant_agg</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="n">j</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;1&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;2&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;3&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">j</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_variant_agg</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="n">j</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="nb">BIGINT</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">schema_of_variant_agg</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="n">j</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: 1}&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;{&quot;b&quot;: true}&#39;</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">&#39;{&quot;c&quot;: 1.23}&#39;</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">j</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="n">schema_of_variant_agg</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="n">j</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">OBJECT</span><span class="o">&lt;</span><span class="n">a</span><span class="p">:</span><span class="w"> </span><span class="nb">BIGINT</span><span class="p">,...</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------+</span>
<span class="c1">-- to_variant_object</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_variant_object</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;b&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">to_variant_object</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">2</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">3</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="s1">&#39;a&#39;</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">named_struct</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="ss">&quot;a&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)));</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="n">to_variant_object</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)))</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">2</span><span class="err">}</span><span class="p">]</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------+</span>
<span class="c1">-- try_parse_json</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:1,&quot;b&quot;:0.8}&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="n">try_parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">&quot;b&quot;</span><span class="p">:</span><span class="mi">0</span><span class="p">.</span><span class="mi">8</span><span class="err">}</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;:1,&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="n">try_parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="mi">1</span><span class="p">,)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------+</span>
<span class="c1">-- try_variant_get</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: 1}&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$.a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;int&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">a</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: 1}&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$.b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;int&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">b</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;2&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[1]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;string&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;2&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;2&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[2]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;string&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;2&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;hello&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[1]&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;hello&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="ss">&quot;hello&quot;</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;hello&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[1]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;int&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="n">try_variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;hello&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-----------------------------------------------+</span>
<span class="c1">-- variant_explode</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">variant_explode</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[&quot;hello&quot;, &quot;world&quot;]&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="w"> </span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="k">NULL</span><span class="o">|</span><span class="ss">&quot;hello&quot;</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="k">NULL</span><span class="o">|</span><span class="ss">&quot;world&quot;</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">variant_explode</span><span class="p">(</span><span class="k">input</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: true, &quot;b&quot;: 3.14}&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="c1">-- variant_explode_outer</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">variant_explode_outer</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[&quot;hello&quot;, &quot;world&quot;]&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="w"> </span><span class="k">key</span><span class="o">|</span><span class="w"> </span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="k">NULL</span><span class="o">|</span><span class="ss">&quot;hello&quot;</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="k">NULL</span><span class="o">|</span><span class="ss">&quot;world&quot;</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+----+-------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="k">from</span><span class="w"> </span><span class="n">variant_explode_outer</span><span class="p">(</span><span class="k">input</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: true, &quot;b&quot;: 3.14}&#39;</span><span class="p">));</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="o">|</span><span class="n">pos</span><span class="o">|</span><span class="k">key</span><span class="o">|</span><span class="n">value</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">14</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---+---+-----+</span>
<span class="c1">-- variant_get</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: 1}&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$.a&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;int&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">a</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;{&quot;a&quot;: 1}&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$.b&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;int&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="err">{</span><span class="ss">&quot;a&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">),</span><span class="w"> </span><span class="err">$</span><span class="p">.</span><span class="n">b</span><span class="p">)</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">--------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;2&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[1]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;string&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;2&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;2&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[2]&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;string&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;2&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="k">NULL</span><span class="o">|</span>
<span class="o">+</span><span class="c1">---------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">(</span><span class="s1">&#39;[1, &quot;hello&quot;]&#39;</span><span class="p">),</span><span class="w"> </span><span class="s1">&#39;$[1]&#39;</span><span class="p">);</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="n">variant_get</span><span class="p">(</span><span class="n">parse_json</span><span class="p">([</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">&quot;hello&quot;</span><span class="p">]),</span><span class="w"> </span><span class="err">$</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="ss">&quot;hello&quot;</span><span class="o">|</span>
<span class="o">+</span><span class="c1">-------------------------------------------+</span>
</code></pre></div>
</div>
<!-- /container -->
</div>
<script src="js/vendor/jquery-3.5.1.min.js"></script>
<script src="js/vendor/bootstrap.bundle.min.js"></script>
<script src="js/vendor/anchor.min.js"></script>
<script src="js/main.js"></script>
<script type="text/javascript" src="js/vendor/docsearch.min.js"></script>
<script type="text/javascript">
// DocSearch is entirely free and automated. DocSearch is built in two parts:
// 1. a crawler which we run on our own infrastructure every 24 hours. It follows every link
// in your website and extract content from every page it traverses. It then pushes this
// content to an Algolia index.
// 2. a JavaScript snippet to be inserted in your website that will bind this Algolia index
// to your search input and display its results in a dropdown UI. If you want to find more
// details on how works DocSearch, check the docs of DocSearch.
docsearch({
apiKey: 'd62f962a82bc9abb53471cb7b89da35e',
appId: 'RAI69RXRSK',
indexName: 'apache_spark',
inputSelector: '#docsearch-input',
enhancedSearchInput: true,
algoliaOptions: {
'facetFilters': ["version:4.1.0-preview1"]
},
debug: false // Set debug to true if you want to inspect the dropdown
});
</script>
<!-- MathJax Section -->
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
TeX: { equationNumbers: { autoNumber: "AMS" } }
});
</script>
<script>
// Note that we load MathJax this way to work with local file (file://), HTTP and HTTPS.
// We could use "//cdn.mathjax...", but that won't support "file://".
(function(d, script) {
script = d.createElement('script');
script.type = 'text/javascript';
script.async = true;
script.onload = function(){
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ],
displayMath: [ ["$$","$$"], ["\\[", "\\]"] ],
processEscapes: true,
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
}
});
};
script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') +
'cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js' +
'?config=TeX-AMS-MML_HTMLorMML';
d.getElementsByTagName('head')[0].appendChild(script);
}(document));
</script>
</body>
</html>