blob: 82d291f42c665c4ea77f206f89cdb06e8d66f13b [file] [log] [blame]
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Built-in Functions - Spark 3.3.0 Documentation</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<style>
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="css/main.css">
<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="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" />
<link rel="stylesheet" href="css/docsearch.css">
</head>
<body>
<!--[if lt IE 7]>
<p class="chromeframe">You are using an outdated browser. <a href="https://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p>
<![endif]-->
<!-- This code is taken from http://twitter.github.com/bootstrap/examples/hero.html -->
<nav class="navbar fixed-top navbar-expand-md navbar-light bg-light" id="topbar">
<div class="container">
<div class="navbar-header">
<div class="navbar-brand"><a href="index.html">
<img src="img/spark-logo-hd.png" style="height:50px;"/></a><span class="version">3.3.0</span>
</div>
</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">
<!--TODO(andyk): Add class="active" attribute to li some how.-->
<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="structured-streaming-programming-guide.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>
</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/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/python/index.html">Python</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-mesos.html">Mesos</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">v3.3.0</span></span>-->
</div>
</div>
</nav>
<div class="container-wrapper">
<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-old.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-functions.html">
Functions
</a>
</li>
<li>
<a href="sql-ref-identifier.html">
Identifiers
</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>
</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>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>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>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>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>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>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>percentile(col, percentage [, frequency])</td>
<td>Returns the exact percentile value of numeric
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>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_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>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>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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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">19432323191698986</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">-------------------------------------+</span>
<span class="c1">-- percentile_approx</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</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="w"></span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="n">percentile_approx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">percentile_approx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="o">|</span><span class="n">percentile_approx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="n">percentile_approx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="c1">-- regr_avgx</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</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="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">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="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="mi">3</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">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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgx</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="w"></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">75</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</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="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="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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgx</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="w"></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="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</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="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="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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgx</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="w"></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="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</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="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">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">null</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">3</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">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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</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="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">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">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="mi">3</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">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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgx</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- regr_avgy</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</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="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">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="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="mi">3</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">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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgy</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="w"></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">75</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</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="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="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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgy</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="w"></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="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</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="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="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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgy</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="w"></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="o">+</span><span class="c1">---------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</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="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">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">null</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">3</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">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">y</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">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">regr_avgy</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="w"></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">6666666666666667</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</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="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">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">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="mi">3</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">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">y</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">+</span><span class="c1">---------------+</span>
<span class="o">|</span><span class="n">regr_avgy</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------------+</span>
<span class="c1">-- regr_count</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</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="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">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="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="mi">3</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">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">y</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">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">regr_count</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</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="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">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">null</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">3</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">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">y</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">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">regr_count</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</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="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">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">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="mi">3</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">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">y</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">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">regr_count</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- regr_r2</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</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="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">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="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="mi">3</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">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">y</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">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">regr_r2</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="w"></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">2727272727272726</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</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="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="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">y</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">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">regr_r2</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="w"></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="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</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="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="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">y</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">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">regr_r2</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="w"></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="o">+</span><span class="c1">-------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</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="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">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">null</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">3</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">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">y</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">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">regr_r2</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="w"></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">7500000000000001</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</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="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">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">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="mi">3</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">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">y</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">+</span><span class="c1">-------------+</span>
<span class="o">|</span><span class="n">regr_r2</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="w"></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="w"></span>
<span class="o">+</span><span class="c1">-------------+</span>
<span class="c1">-- skewness</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">skewness</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="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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">1135657469022013</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">skewness</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">1000</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</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">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="w"></span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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">1135657469022011</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">-------------------+</span>
<span class="c1">-- some</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">some</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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">some</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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">some</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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------+</span>
<span class="c1">-- std</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">std</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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="n">std</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="c1">-- stddev</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">stddev</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="w"></span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="o">|</span><span class="n">stddev</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">-----------+</span>
<span class="c1">-- stddev_pop</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">stddev_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="w"></span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">stddev_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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">816496580927726</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">-----------------+</span>
<span class="c1">-- stddev_samp</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">stddev_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="w"></span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="o">|</span><span class="n">stddev_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">----------------+</span>
<span class="c1">-- sum</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="k">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="w"></span>
<span class="o">+</span><span class="c1">--------+</span>
<span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></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="o">+</span><span class="c1">--------+</span>
<span class="c1">-- try_avg</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">try_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="nb">interval</span><span class="w"> </span><span class="s1">&#39;2147483647 months&#39;</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 months&#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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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_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_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 element of the array as long.</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_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>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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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">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="mi">1</span><span class="p">);</span><span class="w"></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">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="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">---------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">20</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">3</span><span class="p">]</span><span class="o">|</span><span class="w"></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="w"></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="w"></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">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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>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 and `spark.sql.ansi.enabled` is set to false.
If `spark.sql.ansi.enabled` is set to true, it throws NoSuchElementException instead.</td>
</tr>
<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>
<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>
</tbody>
</table>
<h4 id="examples-3">Examples</h4>
<div class="codehilite"><pre><span></span><code><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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">------------------------------+</span>
<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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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>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_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_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>datediff(endDate, startDate)</td>
<td>Returns the number of days from `startDate` to `endDate`.</td>
</tr>
<tr>
<td>day(date)</td>
<td>Returns the day of month of the date/timestamp.</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/timestamp 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(timestamp)</td>
<td>Returns the hour component of the string/timestamp.</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>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_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_ym_interval([years[, months]])</td>
<td>Make year-month interval from years, months.</td>
</tr>
<tr>
<td>minute(timestamp)</td>
<td>Returns the minute component of the string/timestamp.</td>
</tr>
<tr>
<td>month(date)</td>
<td>Returns the month component of the date/timestamp.</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 IllegalArgumentException 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(timestamp)</td>
<td>Returns the second component of the string/timestamp.</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_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_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>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>year(date)</td>
<td>Returns the year component of the date/timestamp.</td>
</tr>
</tbody>
</table>
<h4 id="examples-4">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="w"></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="w"></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="w"></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="w"></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="w"></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">06</span><span class="o">-</span><span class="mi">09</span><span class="o">|</span><span class="w"></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="w"></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="w"></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">06</span><span class="o">-</span><span class="mi">09</span><span class="o">|</span><span class="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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;2009-07-30 12:58:59&#39;</span><span class="p">);</span><span class="w"></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">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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------+</span>
<span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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;2009-07-30 12:58:59&#39;</span><span class="p">);</span><span class="w"></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">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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></span>
<span class="o">+</span><span class="c1">--------------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">1654809095</span><span class="o">|</span><span class="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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-5">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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="w"></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="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/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:3.3.0"]
},
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>