blob: 0ee88246b4da63f88ee7788b4df299a79e2c924c [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.1.3 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">
<!-- Google analytics script -->
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-32518208-2']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</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.1.3</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.1.3</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-functions.html">
Functions
</a>
</li>
<ul>
<li>
<a href="sql-ref-functions-builtin.html">
<b>Built-in Functions</b>
</a>
</li>
<li>
<a href="sql-ref-functions-udf-scalar.html">
Scalar UDFs (User-Defined Functions)
</a>
</li>
<li>
<a href="sql-ref-functions-udf-aggregate.html">
UDAFs (User-Defined Aggregate Functions)
</a>
</li>
<li>
<a href="sql-ref-functions-udf-hive.html">
Integration with Hive UDFs/UDAFs/UDTFs
</a>
</li>
</ul>
<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
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>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>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
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>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>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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="mi">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="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="n">corr</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">c1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</span><span class="n">c2</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">--------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">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="n">covar_pop</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">c1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</span><span class="n">c2</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">-------------------------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">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="k">CAST</span><span class="p">(</span><span class="n">c1</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</span><span class="n">c2</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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">-- 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="n">kurtosis</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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">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="n">kurtosis</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">-----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">3</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="mi">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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">),</span><span class="w"> </span><span class="mi">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="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="n">skewness</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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">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="n">skewness</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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="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="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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="n">stddev_pop</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">-------------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">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="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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">-- 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="n">var_pop</span><span class="p">(</span><span class="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">----------------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">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="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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="k">CAST</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">DOUBLE</span><span class="p">))</span><span class="o">|</span><span class="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>
<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_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. NULL elements are skipped.</td>
</tr>
<tr>
<td>array_min(array)</td>
<td>Returns the minimum value in the array. 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>concat(col1, col2, ..., colN)</td>
<td>Returns the concatenation of col1, col2, ..., colN.</td>
</tr>
<tr>
<td>flatten(arrayOfArrays)</td>
<td>Transforms an array of arrays into a single array.</td>
</tr>
<tr>
<td>reverse(array)</td>
<td>Returns a reversed string or an array with reverse order of elements.</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' 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. 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-1">Examples</h4>
<div class="codehilite"><pre><span></span><code><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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">STRING</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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">STRING</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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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">-- concat</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="s1">&#39;Spark&#39;</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;SQL&#39;</span><span class="p">);</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">concat</span><span class="p">(</span><span class="n">Spark</span><span class="p">,</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">SparkSQL</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">concat</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">6</span><span class="p">));</span><span class="w"></span>
<span class="o">+</span><span class="c1">---------------------------------------------+</span>
<span class="o">|</span><span class="n">concat</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">6</span><span class="p">))</span><span class="o">|</span><span class="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="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">]</span><span class="o">|</span><span class="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">-- reverse</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reverse</span><span class="p">(</span><span class="s1">&#39;Spark SQL&#39;</span><span class="p">);</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="n">reverse</span><span class="p">(</span><span class="n">Spark</span><span class="w"> </span><span class="k">SQL</span><span class="p">)</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="o">|</span><span class="w"> </span><span class="n">LQS</span><span class="w"> </span><span class="n">krapS</span><span class="o">|</span><span class="w"></span>
<span class="o">+</span><span class="c1">------------------+</span>
<span class="k">SELECT</span><span class="w"> </span><span class="n">reverse</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span><span class="w"></span>
<span class="o">+</span><span class="c1">--------------------------+</span>
<span class="o">|</span><span class="n">reverse</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span><span class="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="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="o">|</span><span class="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 months&#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="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">3</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">5</span><span class="p">,</span><span class="w"> </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="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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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">3</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">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">]</span><span class="o">|</span><span class="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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">STRING</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>map_concat(map, ...)</td>
<td>Returns the union of all the given maps</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_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>
</tbody>
</table>
<h4 id="examples-2">Examples</h4>
<div class="codehilite"><pre><span></span><code><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_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_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>
</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>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>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.</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.</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.</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>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.</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>year(date)</td>
<td>Returns the year component of the date/timestamp.</td>
</tr>
</tbody>
</table>
<h4 id="examples-3">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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">02</span><span class="o">-</span><span class="mi">07</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">02</span><span class="o">-</span><span class="mi">07</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">02</span><span class="o">-</span><span class="mi">07</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">17</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">02</span><span class="o">-</span><span class="mi">07</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">17</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</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">1</span><span class="w"> </span><span class="k">year</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="n">months</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</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;1 years 10 months 5 days&#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">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;5 hours 30.001001 seconds&#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">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</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="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="k">AS</span><span class="w"> </span><span class="nb">DATE</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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="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">-- 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="k">CAST</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="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">100</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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">BIGINT</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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">BIGINT</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">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">13</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_date</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">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">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_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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</span><span class="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_date</span><span class="p">(</span><span class="mi">2019</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">30</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">2</span><span class="p">,</span><span class="w"> </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="k">null</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="k">CAST</span><span class="p">(</span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="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="k">CAST</span><span class="p">(</span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</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="k">CAST</span><span class="p">(</span><span class="mi">60</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="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">13</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">10</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">12</span><span class="p">,</span><span class="w"> </span><span class="s1">&#39;PST&#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">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</span><span class="mi">12</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="p">)),</span><span class="w"> </span><span class="n">PST</span><span class="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_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">CAST</span><span class="p">(</span><span class="k">NULL</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">INT</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="k">CAST</span><span class="p">(</span><span class="mi">0</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DECIMAL</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span><span class="mi">6</span><span class="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">-- 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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="p">),</span><span class="w"> </span><span class="k">CAST</span><span class="p">(</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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">02</span><span class="o">-</span><span class="mi">07</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">17</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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">-- 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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">TIMESTAMP</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">DATE</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">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="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">1644193021</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="k">CAST</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="k">AS</span><span class="w"> </span><span class="nb">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">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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">8</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="k">CAST</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="w"> </span><span class="k">AS</span><span class="w"> </span><span class="nb">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">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 outmost JSON array.</td>
</tr>
<tr>
<td>json_object_keys(json_object)</td>
<td>Returns all the keys of the outmost 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-4">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="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: 'b18ca3732c502995563043aa17bc6ecb',
indexName: 'apache_spark',
inputSelector: '#docsearch-input',
enhancedSearchInput: true,
algoliaOptions: {
'facetFilters': ["version:3.1.4"]
},
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>