| |
| <!DOCTYPE html> |
| <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> |
| <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> |
| <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> |
| <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]--> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> |
| <title>Built-in Functions - Spark 3.3.0 Documentation</title> |
| |
| |
| |
| |
| <link rel="stylesheet" href="css/bootstrap.min.css"> |
| <style> |
| body { |
| padding-top: 60px; |
| padding-bottom: 40px; |
| } |
| </style> |
| <meta name="viewport" content="width=device-width"> |
| <link rel="stylesheet" href="css/main.css"> |
| |
| <script src="js/vendor/modernizr-2.6.1-respond-1.1.0.min.js"></script> |
| |
| <link rel="stylesheet" href="css/pygments-default.css"> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" /> |
| <link rel="stylesheet" href="css/docsearch.css"> |
| |
| </head> |
| <body> |
| <!--[if lt IE 7]> |
| <p class="chromeframe">You are using an outdated browser. <a href="https://browsehappy.com/">Upgrade your browser today</a> or <a href="http://www.google.com/chromeframe/?redirect=true">install Google Chrome Frame</a> to better experience this site.</p> |
| <![endif]--> |
| |
| <!-- This code is taken from http://twitter.github.com/bootstrap/examples/hero.html --> |
| |
| <nav class="navbar fixed-top navbar-expand-md navbar-light bg-light" id="topbar"> |
| <div class="container"> |
| <div class="navbar-header"> |
| <div class="navbar-brand"><a href="index.html"> |
| <img src="img/spark-logo-hd.png" style="height:50px;"/></a><span class="version">3.3.0</span> |
| </div> |
| </div> |
| <button class="navbar-toggler" type="button" data-toggle="collapse" |
| data-target="#navbarCollapse" aria-controls="navbarCollapse" |
| aria-expanded="false" aria-label="Toggle navigation"> |
| <span class="navbar-toggler-icon"></span> |
| </button> |
| <div class="collapse navbar-collapse" id="navbarCollapse"> |
| <ul class="navbar-nav"> |
| <!--TODO(andyk): Add class="active" attribute to li some how.--> |
| <li class="nav-item"><a href="index.html" class="nav-link">Overview</a></li> |
| |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" id="navbarQuickStart" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Programming Guides</a> |
| <div class="dropdown-menu" aria-labelledby="navbarQuickStart"> |
| <a class="dropdown-item" href="quick-start.html">Quick Start</a> |
| <a class="dropdown-item" href="rdd-programming-guide.html">RDDs, Accumulators, Broadcasts Vars</a> |
| <a class="dropdown-item" href="sql-programming-guide.html">SQL, DataFrames, and Datasets</a> |
| <a class="dropdown-item" href="structured-streaming-programming-guide.html">Structured Streaming</a> |
| <a class="dropdown-item" href="streaming-programming-guide.html">Spark Streaming (DStreams)</a> |
| <a class="dropdown-item" href="ml-guide.html">MLlib (Machine Learning)</a> |
| <a class="dropdown-item" href="graphx-programming-guide.html">GraphX (Graph Processing)</a> |
| <a class="dropdown-item" href="sparkr.html">SparkR (R on Spark)</a> |
| <a class="dropdown-item" href="api/python/getting_started/index.html">PySpark (Python on Spark)</a> |
| </div> |
| </li> |
| |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" id="navbarAPIDocs" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">API Docs</a> |
| <div class="dropdown-menu" aria-labelledby="navbarAPIDocs"> |
| <a class="dropdown-item" href="api/scala/org/apache/spark/index.html">Scala</a> |
| <a class="dropdown-item" href="api/java/index.html">Java</a> |
| <a class="dropdown-item" href="api/python/index.html">Python</a> |
| <a class="dropdown-item" href="api/R/index.html">R</a> |
| <a class="dropdown-item" href="api/sql/index.html">SQL, Built-in Functions</a> |
| </div> |
| </li> |
| |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" id="navbarDeploying" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Deploying</a> |
| <div class="dropdown-menu" aria-labelledby="navbarDeploying"> |
| <a class="dropdown-item" href="cluster-overview.html">Overview</a> |
| <a class="dropdown-item" href="submitting-applications.html">Submitting Applications</a> |
| <div class="dropdown-divider"></div> |
| <a class="dropdown-item" href="spark-standalone.html">Spark Standalone</a> |
| <a class="dropdown-item" href="running-on-mesos.html">Mesos</a> |
| <a class="dropdown-item" href="running-on-yarn.html">YARN</a> |
| <a class="dropdown-item" href="running-on-kubernetes.html">Kubernetes</a> |
| </div> |
| </li> |
| |
| <li class="nav-item dropdown"> |
| <a href="#" class="nav-link dropdown-toggle" id="navbarMore" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">More</a> |
| <div class="dropdown-menu" aria-labelledby="navbarMore"> |
| <a class="dropdown-item" href="configuration.html">Configuration</a> |
| <a class="dropdown-item" href="monitoring.html">Monitoring</a> |
| <a class="dropdown-item" href="tuning.html">Tuning Guide</a> |
| <a class="dropdown-item" href="job-scheduling.html">Job Scheduling</a> |
| <a class="dropdown-item" href="security.html">Security</a> |
| <a class="dropdown-item" href="hardware-provisioning.html">Hardware Provisioning</a> |
| <a class="dropdown-item" href="migration-guide.html">Migration Guide</a> |
| <div class="dropdown-divider"></div> |
| <a class="dropdown-item" href="building-spark.html">Building Spark</a> |
| <a class="dropdown-item" href="https://spark.apache.org/contributing.html">Contributing to Spark</a> |
| <a class="dropdown-item" href="https://spark.apache.org/third-party-projects.html">Third Party Projects</a> |
| </div> |
| </li> |
| |
| <li class="nav-item"> |
| <input type="text" id="docsearch-input" placeholder="Search the docs…"> |
| </li> |
| </ul> |
| <!--<span class="navbar-text navbar-right"><span class="version-text">v3.3.0</span></span>--> |
| </div> |
| </div> |
| </nav> |
| |
| <div class="container-wrapper"> |
| |
| |
| |
| <div class="left-menu-wrapper"> |
| <div class="left-menu"> |
| <h3><a href="sql-programming-guide.html">Spark SQL Guide</a></h3> |
| |
| <ul> |
| |
| <li> |
| <a href="sql-getting-started.html"> |
| |
| Getting Started |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-data-sources.html"> |
| |
| Data Sources |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-performance-tuning.html"> |
| |
| Performance Tuning |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-distributed-sql-engine.html"> |
| |
| Distributed SQL Engine |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-pyspark-pandas-with-arrow.html"> |
| |
| PySpark Usage Guide for Pandas with Apache Arrow |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-migration-old.html"> |
| |
| Migration Guide |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref.html"> |
| |
| SQL Reference |
| |
| </a> |
| </li> |
| |
| |
| |
| <ul> |
| |
| <li> |
| <a href="sql-ref-ansi-compliance.html"> |
| |
| ANSI Compliance |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-datatypes.html"> |
| |
| Data Types |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-datetime-pattern.html"> |
| |
| Datetime Pattern |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-number-pattern.html"> |
| |
| Number Pattern |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-functions.html"> |
| |
| Functions |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-identifier.html"> |
| |
| Identifiers |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-literals.html"> |
| |
| Literals |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-null-semantics.html"> |
| |
| Null Semantics |
| |
| </a> |
| </li> |
| |
| |
| |
| <li> |
| <a href="sql-ref-syntax.html"> |
| |
| SQL Syntax |
| |
| </a> |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| |
| </ul> |
| |
| </div> |
| </div> |
| |
| <input id="nav-trigger" class="nav-trigger" checked type="checkbox"> |
| <label for="nav-trigger"></label> |
| <div class="content-with-sidebar mr-3" id="content"> |
| |
| <h1 class="title">Built-in Functions</h1> |
| |
| |
| |
| <h3 id="aggregate-functions">Aggregate Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>any(expr)</td> |
| <td>Returns true if at least one value of `expr` is true.</td> |
| </tr> |
| <tr> |
| <td>approx_count_distinct(expr[, relativeSD])</td> |
| <td>Returns the estimated cardinality by HyperLogLog++. |
| `relativeSD` defines the maximum relative standard deviation allowed.</td> |
| </tr> |
| <tr> |
| <td>approx_percentile(col, percentage [, accuracy])</td> |
| <td>Returns the approximate `percentile` of the numeric or |
| ansi interval column `col` which is the smallest value in the ordered `col` values (sorted |
| from least to greatest) such that no more than `percentage` of `col` values is less than |
| the value or equal to that value. The value of percentage must be between 0.0 and 1.0. |
| The `accuracy` parameter (default: 10000) is a positive numeric literal which controls |
| approximation accuracy at the cost of memory. Higher value of `accuracy` yields better |
| accuracy, `1.0/accuracy` is the relative error of the approximation. |
| When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0. |
| In this case, returns the approximate percentile array of column `col` at the given |
| percentage array.</td> |
| </tr> |
| <tr> |
| <td>array_agg(expr)</td> |
| <td>Collects and returns a list of non-unique elements.</td> |
| </tr> |
| <tr> |
| <td>avg(expr)</td> |
| <td>Returns the mean calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>bit_and(expr)</td> |
| <td>Returns the bitwise AND of all non-null input values, or null if none.</td> |
| </tr> |
| <tr> |
| <td>bit_or(expr)</td> |
| <td>Returns the bitwise OR of all non-null input values, or null if none.</td> |
| </tr> |
| <tr> |
| <td>bit_xor(expr)</td> |
| <td>Returns the bitwise XOR of all non-null input values, or null if none.</td> |
| </tr> |
| <tr> |
| <td>bool_and(expr)</td> |
| <td>Returns true if all values of `expr` are true.</td> |
| </tr> |
| <tr> |
| <td>bool_or(expr)</td> |
| <td>Returns true if at least one value of `expr` is true.</td> |
| </tr> |
| <tr> |
| <td>collect_list(expr)</td> |
| <td>Collects and returns a list of non-unique elements.</td> |
| </tr> |
| <tr> |
| <td>collect_set(expr)</td> |
| <td>Collects and returns a set of unique elements.</td> |
| </tr> |
| <tr> |
| <td>corr(expr1, expr2)</td> |
| <td>Returns Pearson coefficient of correlation between a set of number pairs.</td> |
| </tr> |
| <tr> |
| <td>count(*)</td> |
| <td>Returns the total number of retrieved rows, including rows containing null.</td> |
| </tr> |
| <tr> |
| <td>count(expr[, expr...])</td> |
| <td>Returns the number of rows for which the supplied expression(s) are all non-null.</td> |
| </tr> |
| <tr> |
| <td>count(DISTINCT expr[, expr...])</td> |
| <td>Returns the number of rows for which the supplied expression(s) are unique and non-null.</td> |
| </tr> |
| <tr> |
| <td>count_if(expr)</td> |
| <td>Returns the number of `TRUE` values for the expression.</td> |
| </tr> |
| <tr> |
| <td>count_min_sketch(col, eps, confidence, seed)</td> |
| <td>Returns a count-min sketch of a column with the given esp, |
| confidence and seed. The result is an array of bytes, which can be deserialized to a |
| `CountMinSketch` before usage. Count-min sketch is a probabilistic data structure used for |
| cardinality estimation using sub-linear space.</td> |
| </tr> |
| <tr> |
| <td>covar_pop(expr1, expr2)</td> |
| <td>Returns the population covariance of a set of number pairs.</td> |
| </tr> |
| <tr> |
| <td>covar_samp(expr1, expr2)</td> |
| <td>Returns the sample covariance of a set of number pairs.</td> |
| </tr> |
| <tr> |
| <td>every(expr)</td> |
| <td>Returns true if all values of `expr` are true.</td> |
| </tr> |
| <tr> |
| <td>first(expr[, isIgnoreNull])</td> |
| <td>Returns the first value of `expr` for a group of rows. |
| If `isIgnoreNull` is true, returns only non-null values.</td> |
| </tr> |
| <tr> |
| <td>first_value(expr[, isIgnoreNull])</td> |
| <td>Returns the first value of `expr` for a group of rows. |
| If `isIgnoreNull` is true, returns only non-null values.</td> |
| </tr> |
| <tr> |
| <td>grouping(col)</td> |
| <td>indicates whether a specified column in a GROUP BY is aggregated or |
| not, returns 1 for aggregated or 0 for not aggregated in the result set.",</td> |
| </tr> |
| <tr> |
| <td>grouping_id([col1[, col2 ..]])</td> |
| <td>returns the level of grouping, equals to |
| `(grouping(c1) << (n-1)) + (grouping(c2) << (n-2)) + ... + grouping(cn)`</td> |
| </tr> |
| <tr> |
| <td>histogram_numeric(expr, nb)</td> |
| <td>Computes a histogram on numeric 'expr' using nb bins. |
| The return value is an array of (x,y) pairs representing the centers of the |
| histogram's bins. As the value of 'nb' is increased, the histogram approximation |
| gets finer-grained, but may yield artifacts around outliers. In practice, 20-40 |
| histogram bins appear to work well, with more bins being required for skewed or |
| smaller datasets. Note that this function creates a histogram with non-uniform |
| bin widths. It offers no guarantees in terms of the mean-squared-error of the |
| histogram, but in practice is comparable to the histograms produced by the R/S-Plus |
| statistical computing packages. Note: the output type of the 'x' field in the return value is |
| propagated from the input value consumed in the aggregate function.</td> |
| </tr> |
| <tr> |
| <td>kurtosis(expr)</td> |
| <td>Returns the kurtosis value calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>last(expr[, isIgnoreNull])</td> |
| <td>Returns the last value of `expr` for a group of rows. |
| If `isIgnoreNull` is true, returns only non-null values</td> |
| </tr> |
| <tr> |
| <td>last_value(expr[, isIgnoreNull])</td> |
| <td>Returns the last value of `expr` for a group of rows. |
| If `isIgnoreNull` is true, returns only non-null values</td> |
| </tr> |
| <tr> |
| <td>max(expr)</td> |
| <td>Returns the maximum value of `expr`.</td> |
| </tr> |
| <tr> |
| <td>max_by(x, y)</td> |
| <td>Returns the value of `x` associated with the maximum value of `y`.</td> |
| </tr> |
| <tr> |
| <td>mean(expr)</td> |
| <td>Returns the mean calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>min(expr)</td> |
| <td>Returns the minimum value of `expr`.</td> |
| </tr> |
| <tr> |
| <td>min_by(x, y)</td> |
| <td>Returns the value of `x` associated with the minimum value of `y`.</td> |
| </tr> |
| <tr> |
| <td>percentile(col, percentage [, frequency])</td> |
| <td>Returns the exact percentile value of numeric |
| column `col` at the given percentage. The value of percentage must be |
| between 0.0 and 1.0. The value of frequency should be positive integral</td> |
| </tr> |
| <tr> |
| <td>percentile(col, array(percentage1 [, percentage2]...) [, frequency])</td> |
| <td>Returns the exact |
| percentile value array of numeric column `col` at the given percentage(s). Each value |
| of the percentage array must be between 0.0 and 1.0. The value of frequency should be |
| positive integral</td> |
| </tr> |
| <tr> |
| <td>percentile_approx(col, percentage [, accuracy])</td> |
| <td>Returns the approximate `percentile` of the numeric or |
| ansi interval column `col` which is the smallest value in the ordered `col` values (sorted |
| from least to greatest) such that no more than `percentage` of `col` values is less than |
| the value or equal to that value. The value of percentage must be between 0.0 and 1.0. |
| The `accuracy` parameter (default: 10000) is a positive numeric literal which controls |
| approximation accuracy at the cost of memory. Higher value of `accuracy` yields better |
| accuracy, `1.0/accuracy` is the relative error of the approximation. |
| When `percentage` is an array, each value of the percentage array must be between 0.0 and 1.0. |
| In this case, returns the approximate percentile array of column `col` at the given |
| percentage array.</td> |
| </tr> |
| <tr> |
| <td>regr_avgx(y, x)</td> |
| <td>Returns the average of the independent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td> |
| </tr> |
| <tr> |
| <td>regr_avgy(y, x)</td> |
| <td>Returns the average of the dependent variable for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td> |
| </tr> |
| <tr> |
| <td>regr_count(y, x)</td> |
| <td>Returns the number of non-null number pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td> |
| </tr> |
| <tr> |
| <td>regr_r2(y, x)</td> |
| <td>Returns the coefficient of determination for non-null pairs in a group, where `y` is the dependent variable and `x` is the independent variable.</td> |
| </tr> |
| <tr> |
| <td>skewness(expr)</td> |
| <td>Returns the skewness value calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>some(expr)</td> |
| <td>Returns true if at least one value of `expr` is true.</td> |
| </tr> |
| <tr> |
| <td>std(expr)</td> |
| <td>Returns the sample standard deviation calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>stddev(expr)</td> |
| <td>Returns the sample standard deviation calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>stddev_pop(expr)</td> |
| <td>Returns the population standard deviation calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>stddev_samp(expr)</td> |
| <td>Returns the sample standard deviation calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>sum(expr)</td> |
| <td>Returns the sum calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>try_avg(expr)</td> |
| <td>Returns the mean calculated from values of a group and the result is null on overflow.</td> |
| </tr> |
| <tr> |
| <td>try_sum(expr)</td> |
| <td>Returns the sum calculated from values of a group and the result is null on overflow.</td> |
| </tr> |
| <tr> |
| <td>var_pop(expr)</td> |
| <td>Returns the population variance calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>var_samp(expr)</td> |
| <td>Returns the sample variance calculated from values of a group.</td> |
| </tr> |
| <tr> |
| <td>variance(expr)</td> |
| <td>Returns the sample variance calculated from values of a group.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- any</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">any</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="c1">-- approx_count_distinct</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">approx_count_distinct</span><span class="p">(</span><span class="n">col1</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="n">approx_count_distinct</span><span class="p">(</span><span class="n">col1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="c1">-- approx_percentile</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">6</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">9</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'0'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'10'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">MONTH</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'0'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'10'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="n">approx_percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'01'</span><span class="w"> </span><span class="n">SE</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| |
| <span class="c1">-- array_agg</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_agg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| |
| <span class="c1">-- avg</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="c1">-- bit_and</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bit_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">bit_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- bit_or</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bit_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| <span class="o">|</span><span class="n">bit_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| |
| <span class="c1">-- bit_xor</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bit_xor</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">bit_xor</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">6</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- bool_and</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">bool_and</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="c1">-- bool_or</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">bool_or</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- collect_list</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="n">collect_list</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| |
| <span class="c1">-- collect_set</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">collect_set</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">collect_set</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="c1">-- corr</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">corr</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">corr</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">8660254037844387</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="c1">-- count</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="k">count</span><span class="p">(</span><span class="k">DISTINCT</span><span class="w"> </span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- count_if</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">count_if</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="n">count_if</span><span class="p">(((</span><span class="n">col</span><span class="w"> </span><span class="o">%</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">count_if</span><span class="p">(</span><span class="n">col</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">count_if</span><span class="p">((</span><span class="n">col</span><span class="w"> </span><span class="k">IS</span><span class="w"> </span><span class="k">NULL</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="c1">-- count_min_sketch</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">hex</span><span class="p">(</span><span class="n">count_min_sketch</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="n">hex</span><span class="p">(</span><span class="n">count_min_sketch</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">00000001000000000</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| |
| <span class="c1">-- covar_pop</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">covar_pop</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">covar_pop</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="c1">-- covar_samp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">covar_samp</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="n">covar_samp</span><span class="p">(</span><span class="n">c1</span><span class="p">,</span><span class="w"> </span><span class="n">c2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="c1">-- every</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">every</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="c1">-- first</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="k">first</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------+</span> |
| |
| <span class="c1">-- first_value</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">10</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">first_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="c1">-- grouping</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="k">grouping</span><span class="p">(</span><span class="n">name</span><span class="p">),</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'Alice'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="s1">'Bob'</span><span class="p">)</span><span class="w"> </span><span class="n">people</span><span class="p">(</span><span class="n">age</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">cube</span><span class="p">(</span><span class="n">name</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+--------------+--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">name</span><span class="o">|</span><span class="k">grouping</span><span class="p">(</span><span class="n">name</span><span class="p">)</span><span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+--------------+--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+--------------+--------+</span> |
| |
| <span class="c1">-- grouping_id</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">grouping_id</span><span class="p">(),</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">),</span><span class="w"> </span><span class="k">avg</span><span class="p">(</span><span class="n">height</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'Alice'</span><span class="p">,</span><span class="w"> </span><span class="mi">165</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="s1">'Bob'</span><span class="p">,</span><span class="w"> </span><span class="mi">180</span><span class="p">)</span><span class="w"> </span><span class="n">people</span><span class="p">(</span><span class="n">age</span><span class="p">,</span><span class="w"> </span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">height</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="k">cube</span><span class="p">(</span><span class="n">name</span><span class="p">,</span><span class="w"> </span><span class="n">height</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">name</span><span class="o">|</span><span class="n">grouping_id</span><span class="p">()</span><span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">age</span><span class="p">)</span><span class="o">|</span><span class="k">avg</span><span class="p">(</span><span class="n">height</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="n">Alice</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">165</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"> </span><span class="mi">172</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">Bob</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"> </span><span class="mi">180</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----+-------------+--------+-----------+</span> |
| |
| <span class="c1">-- histogram_numeric</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">histogram_numeric</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="n">histogram_numeric</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">....</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| |
| <span class="c1">-- kurtosis</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|-</span><span class="mi">0</span><span class="p">.</span><span class="mi">7014368047529618</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">kurtosis</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">19432323191698986</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- last</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">last</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="c1">-- last_value</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">last_value</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="c1">-- max</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">max</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">50</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">max</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">50</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="c1">-- max_by</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">max_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">((</span><span class="s1">'a'</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">'b'</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">'c'</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">'a'</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">'b'</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">'c'</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">min_by</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- percentile</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">75</span><span class="p">))</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="n">percentile</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">25</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">75</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">.</span><span class="mi">5</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| |
| <span class="c1">-- percentile_approx</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">6</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">9</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'0'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'10'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">MONTH</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'0'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'10'</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="n">percentile_approx</span><span class="p">(</span><span class="n">col</span><span class="p">,</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">0</span><span class="p">.</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">7</span><span class="p">),</span><span class="w"> </span><span class="mi">100</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'01'</span><span class="w"> </span><span class="n">SE</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| |
| <span class="c1">-- regr_avgx</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">75</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgx</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="c1">-- regr_avgy</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">75</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">1</span><span class="p">.</span><span class="mi">6666666666666667</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="n">regr_avgy</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="c1">-- regr_count</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">4</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">regr_count</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="c1">-- regr_r2</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">2727272727272726</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">7500000000000001</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">regr_r2</span><span class="p">(</span><span class="n">y</span><span class="p">,</span><span class="w"> </span><span class="n">x</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="c1">-- skewness</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1000</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">1</span><span class="p">.</span><span class="mi">1135657469022013</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">1000</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="o">-</span><span class="mi">100</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">20</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">skewness</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|-</span><span class="mi">1</span><span class="p">.</span><span class="mi">1135657469022011</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- some</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">false</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="k">some</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------+</span> |
| |
| <span class="c1">-- std</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">std</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="n">std</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="c1">-- stddev</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">stddev</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| <span class="o">|</span><span class="n">stddev</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------+</span> |
| |
| <span class="c1">-- stddev_pop</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">stddev_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">stddev_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">816496580927726</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| |
| <span class="c1">-- stddev_samp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">stddev_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="n">stddev_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| |
| <span class="c1">-- sum</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">25</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="k">sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------+</span> |
| |
| <span class="c1">-- try_avg</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="s1">'2147483647 months'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="nb">interval</span><span class="w"> </span><span class="s1">'1 months'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_avg</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- try_sum</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">5</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">10</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">25</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">9223372036854775807</span><span class="n">L</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="n">L</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="n">try_sum</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------+</span> |
| |
| <span class="c1">-- var_pop</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">var_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">var_pop</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="c1">-- var_samp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">var_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">var_samp</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| |
| <span class="c1">-- variance</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">variance</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">col</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="n">variance</span><span class="p">(</span><span class="n">col</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------+</span> |
| </code></pre></div> |
| |
| <h3 id="window-functions">Window Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>cume_dist()</td> |
| <td>Computes the position of a value relative to all values in the partition.</td> |
| </tr> |
| <tr> |
| <td>dense_rank()</td> |
| <td>Computes the rank of a value in a group of values. The result is one plus the |
| previously assigned rank value. Unlike the function rank, dense_rank will not produce gaps |
| in the ranking sequence.</td> |
| </tr> |
| <tr> |
| <td>lag(input[, offset[, default]])</td> |
| <td>Returns the value of `input` at the `offset`th row |
| before the current row in the window. The default value of `offset` is 1 and the default |
| value of `default` is null. If the value of `input` at the `offset`th row is null, |
| null is returned. If there is no such offset row (e.g., when the offset is 1, the first |
| row of the window does not have any previous row), `default` is returned.</td> |
| </tr> |
| <tr> |
| <td>lead(input[, offset[, default]])</td> |
| <td>Returns the value of `input` at the `offset`th row |
| after the current row in the window. The default value of `offset` is 1 and the default |
| value of `default` is null. If the value of `input` at the `offset`th row is null, |
| null is returned. If there is no such an offset row (e.g., when the offset is 1, the last |
| row of the window does not have any subsequent row), `default` is returned.</td> |
| </tr> |
| <tr> |
| <td>nth_value(input[, offset])</td> |
| <td>Returns the value of `input` at the row that is the `offset`th row |
| from beginning of the window frame. Offset starts at 1. If ignoreNulls=true, we will skip |
| nulls when finding the `offset`th row. Otherwise, every row counts for the `offset`. If |
| there is no such an `offset`th row (e.g., when the offset is 10, size of the window frame |
| is less than 10), null is returned.</td> |
| </tr> |
| <tr> |
| <td>ntile(n)</td> |
| <td>Divides the rows for each window partition into `n` buckets ranging |
| from 1 to at most `n`.</td> |
| </tr> |
| <tr> |
| <td>percent_rank()</td> |
| <td>Computes the percentage ranking of a value in a group of values.</td> |
| </tr> |
| <tr> |
| <td>rank()</td> |
| <td>Computes the rank of a value in a group of values. The result is one plus the number |
| of rows preceding or equal to the current row in the ordering of the partition. The values |
| will produce gaps in the sequence.</td> |
| </tr> |
| <tr> |
| <td>row_number()</td> |
| <td>Assigns a unique, sequential number to each row, starting with one, |
| according to the ordering of rows within the window partition.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples-1">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- cume_dist</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">cume_dist</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="n">RANGE</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">6666666666666666</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- dense_rank</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">dense_rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">DENSE_RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- lag</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">lag</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">lag</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+-----------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- lead</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">lead</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">lead</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">FOLLOWING</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- nth_value</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">nth_value</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">nth_value</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="n">RANGE</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+------------------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- ntile</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">ntile</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">ntile</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- percent_rank</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">percent_rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">PERCENT_RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">0</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+----------------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- rank</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">rank</span><span class="p">(</span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">RANK</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- row_number</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="n">row_number</span><span class="p">()</span><span class="w"> </span><span class="n">OVER</span><span class="w"> </span><span class="p">(</span><span class="n">PARTITION</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="k">ASC</span><span class="w"> </span><span class="n">NULLS</span><span class="w"> </span><span class="k">FIRST</span><span class="w"> </span><span class="k">ROWS</span><span class="w"> </span><span class="k">BETWEEN</span><span class="w"> </span><span class="n">UNBOUNDED</span><span class="w"> </span><span class="n">PRECEDING</span><span class="w"> </span><span class="k">AND</span><span class="w"> </span><span class="k">CURRENT</span><span class="w"> </span><span class="k">ROW</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+--------------------------------------------------------------------------------------------------------------+</span> |
| </code></pre></div> |
| |
| <h3 id="array-functions">Array Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>array(expr, ...)</td> |
| <td>Returns an array with the given elements.</td> |
| </tr> |
| <tr> |
| <td>array_contains(array, value)</td> |
| <td>Returns true if the array contains the value.</td> |
| </tr> |
| <tr> |
| <td>array_distinct(array)</td> |
| <td>Removes duplicate values from the array.</td> |
| </tr> |
| <tr> |
| <td>array_except(array1, array2)</td> |
| <td>Returns an array of the elements in array1 but not in array2, |
| without duplicates.</td> |
| </tr> |
| <tr> |
| <td>array_intersect(array1, array2)</td> |
| <td>Returns an array of the elements in the intersection of array1 and |
| array2, without duplicates.</td> |
| </tr> |
| <tr> |
| <td>array_join(array, delimiter[, nullReplacement])</td> |
| <td>Concatenates the elements of the given array |
| using the delimiter and an optional string to replace nulls. If no value is set for |
| nullReplacement, any null value is filtered.</td> |
| </tr> |
| <tr> |
| <td>array_max(array)</td> |
| <td>Returns the maximum value in the array. NaN is greater than |
| any non-NaN elements for double/float type. NULL elements are skipped.</td> |
| </tr> |
| <tr> |
| <td>array_min(array)</td> |
| <td>Returns the minimum value in the array. NaN is greater than |
| any non-NaN elements for double/float type. NULL elements are skipped.</td> |
| </tr> |
| <tr> |
| <td>array_position(array, element)</td> |
| <td>Returns the (1-based) index of the first element of the array as long.</td> |
| </tr> |
| <tr> |
| <td>array_remove(array, element)</td> |
| <td>Remove all elements that equal to element from array.</td> |
| </tr> |
| <tr> |
| <td>array_repeat(element, count)</td> |
| <td>Returns the array containing element count times.</td> |
| </tr> |
| <tr> |
| <td>array_union(array1, array2)</td> |
| <td>Returns an array of the elements in the union of array1 and array2, |
| without duplicates.</td> |
| </tr> |
| <tr> |
| <td>arrays_overlap(a1, a2)</td> |
| <td>Returns true if a1 contains at least a non-null element present also in a2. If the arrays have no common element and they are both non-empty and either of them contains a null element null is returned, false otherwise.</td> |
| </tr> |
| <tr> |
| <td>arrays_zip(a1, a2, ...)</td> |
| <td>Returns a merged array of structs in which the N-th struct contains all |
| N-th values of input arrays.</td> |
| </tr> |
| <tr> |
| <td>flatten(arrayOfArrays)</td> |
| <td>Transforms an array of arrays into a single array.</td> |
| </tr> |
| <tr> |
| <td>sequence(start, stop, step)</td> |
| <td>Generates an array of elements from start to stop (inclusive), |
| incrementing by step. The type of the returned elements is the same as the type of argument |
| expressions. |
| |
| Supported types are: byte, short, integer, long, date, timestamp. |
| |
| The start and stop expressions must resolve to the same type. |
| If start and stop expressions resolve to the 'date' or 'timestamp' type |
| then the step expression must resolve to the 'interval' or 'year-month interval' or |
| 'day-time interval' type, otherwise to the same type as the start and stop expressions.</td> |
| </tr> |
| <tr> |
| <td>shuffle(array)</td> |
| <td>Returns a random permutation of the given array.</td> |
| </tr> |
| <tr> |
| <td>slice(x, start, length)</td> |
| <td>Subsets array x starting from index start (array indices start at 1, or starting from the end if start is negative) with the specified length.</td> |
| </tr> |
| <tr> |
| <td>sort_array(array[, ascendingOrder])</td> |
| <td>Sorts the input array in ascending or descending order |
| according to the natural ordering of the array elements. NaN is greater than any non-NaN |
| elements for double/float type. Null elements will be placed at the beginning of the returned |
| array in ascending order or at the end of the returned array in descending order.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples-2">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- array</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| |
| <span class="c1">-- array_contains</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_contains</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">array_contains</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="c1">-- array_distinct</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_distinct</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_distinct</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| |
| <span class="c1">-- array_except</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_except</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_except</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------+</span> |
| |
| <span class="c1">-- array_intersect</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_intersect</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_intersect</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------+</span> |
| |
| <span class="c1">-- array_join</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">'hello'</span><span class="p">,</span><span class="w"> </span><span class="s1">'world'</span><span class="p">),</span><span class="w"> </span><span class="s1">' '</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">'hello'</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">'world'</span><span class="p">),</span><span class="w"> </span><span class="s1">' '</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">hello</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="p">),</span><span class="w"> </span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">hello</span><span class="w"> </span><span class="n">world</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">'hello'</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">'world'</span><span class="p">),</span><span class="w"> </span><span class="s1">' '</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_join</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">hello</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="p">),</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="p">,)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">hello</span><span class="w"> </span><span class="p">,</span><span class="w"> </span><span class="n">world</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| |
| <span class="c1">-- array_max</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_max</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">array_max</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">20</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="c1">-- array_min</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_min</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">array_min</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="c1">-- array_position</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">array_position</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="c1">-- array_remove</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_remove</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_remove</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| |
| <span class="c1">-- array_repeat</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_repeat</span><span class="p">(</span><span class="s1">'123'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="n">array_repeat</span><span class="p">(</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">123</span><span class="p">,</span><span class="w"> </span><span class="mi">123</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- array_union</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">array_union</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="n">array_union</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| |
| <span class="c1">-- arrays_overlap</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_overlap</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="n">arrays_overlap</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| |
| <span class="c1">-- arrays_zip</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| <span class="o">|</span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">arrays_zip</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| |
| <span class="c1">-- flatten</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">flatten</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="n">flatten</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| |
| <span class="c1">-- sequence</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="p">[</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="s1">'2018-01-01'</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">'2018-03-01'</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">'1'</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">,</span><span class="w"> </span><span class="mi">2018</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="s1">'2018-01-01'</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">'2018-03-01'</span><span class="p">),</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="s1">'0-1'</span><span class="w"> </span><span class="k">year</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">month</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">sequence</span><span class="p">(</span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="mi">2018</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">01</span><span class="p">),</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'0-1'</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2018</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="p">,</span><span class="w"> </span><span class="mi">2018</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- shuffle</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="n">shuffle</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| |
| <span class="c1">-- slice</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| <span class="o">|</span><span class="n">slice</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">),</span><span class="w"> </span><span class="o">-</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| |
| <span class="c1">-- sort_array</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="s1">'b'</span><span class="p">,</span><span class="w"> </span><span class="s1">'d'</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="s1">'c'</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">),</span><span class="w"> </span><span class="k">true</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="n">sort_array</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">),</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">c</span><span class="p">,</span><span class="w"> </span><span class="n">d</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| </code></pre></div> |
| |
| <h3 id="map-functions">Map Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>element_at(array, index)</td> |
| <td>Returns element of array at given (1-based) index. If Index is 0, |
| Spark will throw an error. If index < 0, accesses elements from the last to the first. |
| The function returns NULL if the index exceeds the length of the array and |
| `spark.sql.ansi.enabled` is set to false. |
| If `spark.sql.ansi.enabled` is set to true, it throws ArrayIndexOutOfBoundsException |
| for invalid indices.</td> |
| </tr> |
| <tr> |
| <td>element_at(map, key)</td> |
| <td>Returns value for given key. The function returns NULL |
| if the key is not contained in the map and `spark.sql.ansi.enabled` is set to false. |
| If `spark.sql.ansi.enabled` is set to true, it throws NoSuchElementException instead.</td> |
| </tr> |
| <tr> |
| <td>map(key0, value0, key1, value1, ...)</td> |
| <td>Creates a map with the given key/value pairs.</td> |
| </tr> |
| <tr> |
| <td>map_concat(map, ...)</td> |
| <td>Returns the union of all the given maps</td> |
| </tr> |
| <tr> |
| <td>map_contains_key(map, key)</td> |
| <td>Returns true if the map contains the key.</td> |
| </tr> |
| <tr> |
| <td>map_entries(map)</td> |
| <td>Returns an unordered array of all entries in the given map.</td> |
| </tr> |
| <tr> |
| <td>map_from_arrays(keys, values)</td> |
| <td>Creates a map with a pair of the given key/value arrays. All elements |
| in keys should not be null</td> |
| </tr> |
| <tr> |
| <td>map_from_entries(arrayOfEntries)</td> |
| <td>Returns a map created from the given array of entries.</td> |
| </tr> |
| <tr> |
| <td>map_keys(map)</td> |
| <td>Returns an unordered array containing the keys of the map.</td> |
| </tr> |
| <tr> |
| <td>map_values(map)</td> |
| <td>Returns an unordered array containing the values of the map.</td> |
| </tr> |
| <tr> |
| <td>str_to_map(text[, pairDelim[, keyValueDelim]])</td> |
| <td>Creates a map after splitting the text into key/value pairs using delimiters. Default delimiters are ',' for `pairDelim` and ':' for `keyValueDelim`. Both `pairDelim` and `keyValueDelim` are treated as regular expressions.</td> |
| </tr> |
| <tr> |
| <td>try_element_at(array, index)</td> |
| <td>Returns element of array at given (1-based) index. If Index is 0, |
| Spark will throw an error. If index < 0, accesses elements from the last to the first. |
| The function always returns NULL if the index exceeds the length of the array.</td> |
| </tr> |
| <tr> |
| <td>try_element_at(map, key)</td> |
| <td>Returns value for given key. The function always returns NULL |
| if the key is not contained in the map.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples-3">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- element_at</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="n">element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------+</span> |
| |
| <span class="c1">-- map</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">'2'</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">'4'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- map_concat</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_concat</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'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="s1">'c'</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">-></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">-></span><span class="w"> </span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| |
| <span class="c1">-- map_contains_key</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">true</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="n">map_contains_key</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">false</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------+</span> |
| |
| <span class="c1">-- map_entries</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| <span class="o">|</span><span class="n">map_entries</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="err">}</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------+</span> |
| |
| <span class="c1">-- map_from_arrays</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="s1">'2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'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">map_from_arrays</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="p">),</span><span class="w"> </span><span class="nb">array</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">1</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">0</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">4</span><span class="err">}</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------+</span> |
| |
| <span class="c1">-- map_from_entries</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">map_from_entries</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="n">struct</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</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">-></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">-></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">'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="s1">'b'</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">'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="s1">'b'</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="n">map_values</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">))</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="p">[</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="c1">-- str_to_map</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">'a:1,b:2,c:3'</span><span class="p">,</span><span class="w"> </span><span class="s1">','</span><span class="p">,</span><span class="w"> </span><span class="s1">':'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="n">b</span><span class="p">:</span><span class="mi">2</span><span class="p">,</span><span class="k">c</span><span class="p">:</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">str_to_map</span><span class="p">(</span><span class="s1">'a'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="n">str_to_map</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="p">,,</span><span class="w"> </span><span class="p">:)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">a</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="k">null</span><span class="err">}</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- try_element_at</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="nb">array</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="s1">'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="s1">'b'</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="n">try_element_at</span><span class="p">(</span><span class="k">map</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">),</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">b</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| </code></pre></div> |
| |
| <h3 id="date-and-timestamp-functions">Date and Timestamp Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>add_months(start_date, num_months)</td> |
| <td>Returns the date that is `num_months` after `start_date`.</td> |
| </tr> |
| <tr> |
| <td>current_date()</td> |
| <td>Returns the current date at the start of query evaluation. All calls of current_date within the same query return the same value.</td> |
| </tr> |
| <tr> |
| <td>current_date</td> |
| <td>Returns the current date at the start of query evaluation.</td> |
| </tr> |
| <tr> |
| <td>current_timestamp()</td> |
| <td>Returns the current timestamp at the start of query evaluation. All calls of current_timestamp within the same query return the same value.</td> |
| </tr> |
| <tr> |
| <td>current_timestamp</td> |
| <td>Returns the current timestamp at the start of query evaluation.</td> |
| </tr> |
| <tr> |
| <td>current_timezone()</td> |
| <td>Returns the current session local timezone.</td> |
| </tr> |
| <tr> |
| <td>date_add(start_date, num_days)</td> |
| <td>Returns the date that is `num_days` after `start_date`.</td> |
| </tr> |
| <tr> |
| <td>date_format(timestamp, fmt)</td> |
| <td>Converts `timestamp` to a value of string in the format specified by the date format `fmt`.</td> |
| </tr> |
| <tr> |
| <td>date_from_unix_date(days)</td> |
| <td>Create date from the number of days since 1970-01-01.</td> |
| </tr> |
| <tr> |
| <td>date_part(field, source)</td> |
| <td>Extracts a part of the date/timestamp or interval source.</td> |
| </tr> |
| <tr> |
| <td>date_sub(start_date, num_days)</td> |
| <td>Returns the date that is `num_days` before `start_date`.</td> |
| </tr> |
| <tr> |
| <td>date_trunc(fmt, ts)</td> |
| <td>Returns timestamp `ts` truncated to the unit specified by the format model `fmt`.</td> |
| </tr> |
| <tr> |
| <td>datediff(endDate, startDate)</td> |
| <td>Returns the number of days from `startDate` to `endDate`.</td> |
| </tr> |
| <tr> |
| <td>day(date)</td> |
| <td>Returns the day of month of the date/timestamp.</td> |
| </tr> |
| <tr> |
| <td>dayofmonth(date)</td> |
| <td>Returns the day of month of the date/timestamp.</td> |
| </tr> |
| <tr> |
| <td>dayofweek(date)</td> |
| <td>Returns the day of the week for date/timestamp (1 = Sunday, 2 = Monday, ..., 7 = Saturday).</td> |
| </tr> |
| <tr> |
| <td>dayofyear(date)</td> |
| <td>Returns the day of year of the date/timestamp.</td> |
| </tr> |
| <tr> |
| <td>extract(field FROM source)</td> |
| <td>Extracts a part of the date/timestamp or interval source.</td> |
| </tr> |
| <tr> |
| <td>from_unixtime(unix_time[, fmt])</td> |
| <td>Returns `unix_time` in the specified `fmt`.</td> |
| </tr> |
| <tr> |
| <td>from_utc_timestamp(timestamp, timezone)</td> |
| <td>Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in UTC, and renders that time as a timestamp in the given time zone. For example, 'GMT+1' would yield '2017-07-14 03:40:00.0'.</td> |
| </tr> |
| <tr> |
| <td>hour(timestamp)</td> |
| <td>Returns the hour component of the string/timestamp.</td> |
| </tr> |
| <tr> |
| <td>last_day(date)</td> |
| <td>Returns the last day of the month which the date belongs to.</td> |
| </tr> |
| <tr> |
| <td>make_date(year, month, day)</td> |
| <td>Create date from year, month and day fields. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td> |
| </tr> |
| <tr> |
| <td>make_dt_interval([days[, hours[, mins[, secs]]]])</td> |
| <td>Make DayTimeIntervalType duration from days, hours, mins and secs.</td> |
| </tr> |
| <tr> |
| <td>make_interval([years[, months[, weeks[, days[, hours[, mins[, secs]]]]]]])</td> |
| <td>Make interval from years, months, weeks, days, hours, mins and secs.</td> |
| </tr> |
| <tr> |
| <td>make_timestamp(year, month, day, hour, min, sec[, timezone])</td> |
| <td>Create timestamp from year, month, day, hour, min, sec and timezone fields. The result data type is consistent with the value of configuration `spark.sql.timestampType`. If the configuration `spark.sql.ansi.enabled` is false, the function returns NULL on invalid inputs. Otherwise, it will throw an error instead.</td> |
| </tr> |
| <tr> |
| <td>make_ym_interval([years[, months]])</td> |
| <td>Make year-month interval from years, months.</td> |
| </tr> |
| <tr> |
| <td>minute(timestamp)</td> |
| <td>Returns the minute component of the string/timestamp.</td> |
| </tr> |
| <tr> |
| <td>month(date)</td> |
| <td>Returns the month component of the date/timestamp.</td> |
| </tr> |
| <tr> |
| <td>months_between(timestamp1, timestamp2[, roundOff])</td> |
| <td>If `timestamp1` is later than `timestamp2`, then the result |
| is positive. If `timestamp1` and `timestamp2` are on the same day of month, or both |
| are the last day of month, time of day will be ignored. Otherwise, the difference is |
| calculated based on 31 days per month, and rounded to 8 digits unless roundOff=false.</td> |
| </tr> |
| <tr> |
| <td>next_day(start_date, day_of_week)</td> |
| <td>Returns the first date which is later than `start_date` and named as indicated. |
| The function returns NULL if at least one of the input parameters is NULL. |
| When both of the input parameters are not NULL and day_of_week is an invalid input, |
| the function throws IllegalArgumentException if `spark.sql.ansi.enabled` is set to true, otherwise NULL.</td> |
| </tr> |
| <tr> |
| <td>now()</td> |
| <td>Returns the current timestamp at the start of query evaluation.</td> |
| </tr> |
| <tr> |
| <td>quarter(date)</td> |
| <td>Returns the quarter of the year for date, in the range 1 to 4.</td> |
| </tr> |
| <tr> |
| <td>second(timestamp)</td> |
| <td>Returns the second component of the string/timestamp.</td> |
| </tr> |
| <tr> |
| <td>session_window(time_column, gap_duration)</td> |
| <td>Generates session window given a timestamp specifying column and gap duration. |
| See <a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#types-of-time-windows">'Types of time windows'</a> in Structured Streaming guide doc for detailed explanation and examples.</td> |
| </tr> |
| <tr> |
| <td>timestamp_micros(microseconds)</td> |
| <td>Creates timestamp from the number of microseconds since UTC epoch.</td> |
| </tr> |
| <tr> |
| <td>timestamp_millis(milliseconds)</td> |
| <td>Creates timestamp from the number of milliseconds since UTC epoch.</td> |
| </tr> |
| <tr> |
| <td>timestamp_seconds(seconds)</td> |
| <td>Creates timestamp from the number of seconds (can be fractional) since UTC epoch.</td> |
| </tr> |
| <tr> |
| <td>to_date(date_str[, fmt])</td> |
| <td>Parses the `date_str` expression with the `fmt` expression to |
| a date. Returns null with invalid input. By default, it follows casting rules to a date if |
| the `fmt` is omitted.</td> |
| </tr> |
| <tr> |
| <td>to_timestamp(timestamp_str[, fmt])</td> |
| <td>Parses the `timestamp_str` expression with the `fmt` expression |
| to a timestamp. Returns null with invalid input. By default, it follows casting rules to |
| a timestamp if the `fmt` is omitted. The result data type is consistent with the value of |
| configuration `spark.sql.timestampType`.</td> |
| </tr> |
| <tr> |
| <td>to_unix_timestamp(timeExp[, fmt])</td> |
| <td>Returns the UNIX timestamp of the given time.</td> |
| </tr> |
| <tr> |
| <td>to_utc_timestamp(timestamp, timezone)</td> |
| <td>Given a timestamp like '2017-07-14 02:40:00.0', interprets it as a time in the given time zone, and renders that time as a timestamp in UTC. For example, 'GMT+1' would yield '2017-07-14 01:40:00.0'.</td> |
| </tr> |
| <tr> |
| <td>trunc(date, fmt)</td> |
| <td>Returns `date` with the time portion of the day truncated to the unit specified by the format model `fmt`.</td> |
| </tr> |
| <tr> |
| <td>unix_date(date)</td> |
| <td>Returns the number of days since 1970-01-01.</td> |
| </tr> |
| <tr> |
| <td>unix_micros(timestamp)</td> |
| <td>Returns the number of microseconds since 1970-01-01 00:00:00 UTC.</td> |
| </tr> |
| <tr> |
| <td>unix_millis(timestamp)</td> |
| <td>Returns the number of milliseconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.</td> |
| </tr> |
| <tr> |
| <td>unix_seconds(timestamp)</td> |
| <td>Returns the number of seconds since 1970-01-01 00:00:00 UTC. Truncates higher levels of precision.</td> |
| </tr> |
| <tr> |
| <td>unix_timestamp([timeExp[, fmt]])</td> |
| <td>Returns the UNIX timestamp of current or specified time.</td> |
| </tr> |
| <tr> |
| <td>weekday(date)</td> |
| <td>Returns the day of the week for date/timestamp (0 = Monday, 1 = Tuesday, ..., 6 = Sunday).</td> |
| </tr> |
| <tr> |
| <td>weekofyear(date)</td> |
| <td>Returns the week of the year of the given date. A week is considered to start on a Monday and week 1 is the first week with >3 days.</td> |
| </tr> |
| <tr> |
| <td>window(time_column, window_duration[, slide_duration[, start_time]])</td> |
| <td>Bucketize rows into one or more time windows given a timestamp specifying column. |
| Window starts are inclusive but the window ends are exclusive, e.g. 12:05 will be in the window [12:05,12:10) but not in [12:00,12:05). |
| Windows can support microsecond precision. Windows in the order of months are not supported. |
| See <a href="https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#window-operations-on-event-time">'Window Operations on Event Time'</a> in Structured Streaming guide doc for detailed explanation and examples.</td> |
| </tr> |
| <tr> |
| <td>year(date)</td> |
| <td>Returns the year component of the date/timestamp.</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples-4">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- add_months</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">add_months</span><span class="p">(</span><span class="s1">'2016-08-31'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="n">add_months</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">09</span><span class="o">-</span><span class="mi">30</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| |
| <span class="c1">-- current_date</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">current_date</span><span class="p">();</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="k">current_date</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">current_date</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="k">current_date</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------+</span> |
| |
| <span class="c1">-- current_timestamp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">();</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">current_timestamp</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- current_timezone</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">current_timezone</span><span class="p">();</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="n">current_timezone</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">Etc</span><span class="o">/</span><span class="n">UTC</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------+</span> |
| |
| <span class="c1">-- date_add</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_add</span><span class="p">(</span><span class="s1">'2016-07-30'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">date_add</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="c1">-- date_format</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_format</span><span class="p">(</span><span class="s1">'2016-04-08'</span><span class="p">,</span><span class="w"> </span><span class="s1">'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">date_format</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">08</span><span class="p">,</span><span class="w"> </span><span class="n">y</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------+</span> |
| |
| <span class="c1">-- date_from_unix_date</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_from_unix_date</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">date_from_unix_date</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="c1">-- date_part</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">'YEAR'</span><span class="p">,</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">'2019-08-12 01:00:00.123456'</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">'2019-08-12 01:00:00.123456'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">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">'week'</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">'2019-08-12 01:00:00.123456'</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">'2019-08-12 01:00:00.123456'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">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">'doy'</span><span class="p">,</span><span class="w"> </span><span class="nb">DATE</span><span class="s1">'2019-08-12'</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">'2019-08-12'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">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">'SECONDS'</span><span class="p">,</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">'2019-10-01 00:00:01.000001'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">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">'2019-10-01 00:00:01.000001'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="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">'days'</span><span class="p">,</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="n">minutes</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="n">days</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'5 03:07'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MINUTE</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">'seconds'</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">'05:00:30.001001'</span><span class="w"> </span><span class="n">HOUR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="p">.</span><span class="mi">001001</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">'MONTH'</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2021-11'</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="k">MONTH</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2021-11'</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_part</span><span class="p">(</span><span class="s1">'MINUTE'</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'123 23:55:59.002001'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_part</span><span class="p">(</span><span class="k">MINUTE</span><span class="p">,</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'123 23:55:59.002001'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">55</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| |
| <span class="c1">-- date_sub</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_sub</span><span class="p">(</span><span class="s1">'2016-07-30'</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">date_sub</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">29</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="c1">-- date_trunc</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">'YEAR'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2015-03-05T09:32:05.359'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="k">YEAR</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">'MM'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2015-03-05T09:32:05.359'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">MM</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">'DD'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2015-03-05T09:32:05.359'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">DD</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">'HOUR'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2015-03-05T09:32:05.359'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">HOUR</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">359</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">date_trunc</span><span class="p">(</span><span class="s1">'MILLISECOND'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2015-03-05T09:32:05.123456'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">date_trunc</span><span class="p">(</span><span class="n">MILLISECOND</span><span class="p">,</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="n">T09</span><span class="p">:</span><span class="mi">32</span><span class="p">:</span><span class="mi">05</span><span class="p">.</span><span class="mi">123456</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">03</span><span class="o">-</span><span class="mi">05</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">32</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| |
| <span class="c1">-- datediff</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">datediff</span><span class="p">(</span><span class="s1">'2009-07-31'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2009-07-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">datediff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">datediff</span><span class="p">(</span><span class="s1">'2009-07-30'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2009-07-31'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="n">datediff</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">31</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="o">-</span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="c1">-- day</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">day</span><span class="p">(</span><span class="s1">'2009-07-30'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="k">day</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------+</span> |
| |
| <span class="c1">-- dayofmonth</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">dayofmonth</span><span class="p">(</span><span class="s1">'2009-07-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">dayofmonth</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="c1">-- dayofweek</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">dayofweek</span><span class="p">(</span><span class="s1">'2009-07-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">dayofweek</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| |
| <span class="c1">-- dayofyear</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">dayofyear</span><span class="p">(</span><span class="s1">'2016-04-09'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="n">dayofyear</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">04</span><span class="o">-</span><span class="mi">09</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">100</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| |
| <span class="c1">-- extract</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">YEAR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">'2019-08-12 01:00:00.123456'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">YEAR</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">'2019-08-12 01:00:00.123456'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">week</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">'2019-08-12 01:00:00.123456'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">week</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">'2019-08-12 01:00:00.123456'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">33</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">doy</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">DATE</span><span class="s1">'2019-08-12'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">doy</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">DATE</span><span class="w"> </span><span class="s1">'2019-08-12'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">224</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">SECONDS</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">timestamp</span><span class="s1">'2019-10-01 00:00:01.000001'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">SECONDS</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">TIMESTAMP</span><span class="w"> </span><span class="s1">'2019-10-01 00:00:01.000001'</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">000001</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">days</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">7</span><span class="w"> </span><span class="n">minutes</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">days</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'5 03:07'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MINUTE</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">5</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="n">seconds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">interval</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="n">hours</span><span class="w"> </span><span class="mi">30</span><span class="w"> </span><span class="n">seconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">milliseconds</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">microseconds</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="n">seconds</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'05:00:30.001001'</span><span class="w"> </span><span class="n">HOUR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">30</span><span class="p">.</span><span class="mi">001001</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">MONTH</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2021-11'</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">MONTH</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2021-11'</span><span class="w"> </span><span class="k">YEAR</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">MONTH</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">11</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'123 23:55:59.002001'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="k">extract</span><span class="p">(</span><span class="k">MINUTE</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'123 23:55:59.002001'</span><span class="w"> </span><span class="k">DAY</span><span class="w"> </span><span class="k">TO</span><span class="w"> </span><span class="k">SECOND</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">55</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------------------------+</span> |
| |
| <span class="c1">-- from_unixtime</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd HH:mm:ss'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="n">from_unixtime</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| |
| <span class="c1">-- from_utc_timestamp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">from_utc_timestamp</span><span class="p">(</span><span class="s1">'2016-08-31'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Asia/Seoul'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| <span class="o">|</span><span class="n">from_utc_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">Asia</span><span class="o">/</span><span class="n">Seoul</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">09</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------+</span> |
| |
| <span class="c1">-- hour</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">hour</span><span class="p">(</span><span class="s1">'2009-07-30 12:58:59'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="n">hour</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">12</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| |
| <span class="c1">-- last_day</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">last_day</span><span class="p">(</span><span class="s1">'2009-01-12'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="n">last_day</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">12</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">31</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- make_date</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_date</span><span class="p">(</span><span class="mi">2013</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">make_date</span><span class="p">(</span><span class="mi">2013</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2013</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">15</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_date</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| <span class="o">|</span><span class="n">make_date</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| |
| <span class="c1">-- make_dt_interval</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">01</span><span class="p">.</span><span class="mi">001001</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">001001</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1 12:30...|</span> |
| <span class="s1">+-------------------------------------+</span> |
| |
| <span class="s1">SELECT make_dt_interval(2);</span> |
| <span class="s1">+-----------------------------------+</span> |
| <span class="s1">|make_dt_interval(2, 0, 0, 0.000000)|</span> |
| <span class="s1">+-----------------------------------+</span> |
| <span class="s1">| INTERVAL '</span><span class="mi">2</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_dt_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| |
| <span class="c1">-- make_interval</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">01</span><span class="p">.</span><span class="mi">001001</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">001001</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">100</span><span class="w"> </span><span class="n">years</span><span class="w"> </span><span class="mi">11</span><span class="w"> </span><span class="n">mont</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">.</span><span class="mi">000000</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_interval</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">100</span><span class="p">.</span><span class="mi">000001</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">months</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="n">days</span><span class="w"> </span><span class="mi">1</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| |
| <span class="c1">-- make_timestamp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">06</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="s1">'CET'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2014</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">28</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">45</span><span class="p">.</span><span class="mi">887</span><span class="p">,</span><span class="w"> </span><span class="n">CET</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2014</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="mi">2019</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="p">,</span><span class="w"> </span><span class="mi">59</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">59</span><span class="p">:</span><span class="mi">01</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_timestamp</span><span class="p">(</span><span class="k">null</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="n">make_timestamp</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">15</span><span class="p">,</span><span class="w"> </span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="k">null</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------+</span> |
| |
| <span class="c1">-- make_ym_interval</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1-2'</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'1-0'</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="o">-</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'-0-11'</span><span class="w"> </span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">2</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">make_ym_interval</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="nb">INTERVAL</span><span class="w"> </span><span class="s1">'2-0'</span><span class="w"> </span><span class="n">YE</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="c1">-- minute</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">minute</span><span class="p">(</span><span class="s1">'2009-07-30 12:58:59'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="k">minute</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">58</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="c1">-- month</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">month</span><span class="p">(</span><span class="s1">'2016-07-30'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="k">month</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">7</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------+</span> |
| |
| <span class="c1">-- months_between</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">months_between</span><span class="p">(</span><span class="s1">'1997-02-28 10:30:00'</span><span class="p">,</span><span class="w"> </span><span class="s1">'1996-10-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">months_between</span><span class="p">(</span><span class="mi">1997</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">10</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="p">,</span><span class="w"> </span><span class="mi">1996</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="k">true</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">94959677</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">months_between</span><span class="p">(</span><span class="s1">'1997-02-28 10:30:00'</span><span class="p">,</span><span class="w"> </span><span class="s1">'1996-10-30'</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">months_between</span><span class="p">(</span><span class="mi">1997</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">28</span><span class="w"> </span><span class="mi">10</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="p">,</span><span class="w"> </span><span class="mi">1996</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="k">false</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="p">.</span><span class="mi">9495967741935485</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------------------------------------+</span> |
| |
| <span class="c1">-- next_day</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">next_day</span><span class="p">(</span><span class="s1">'2015-01-14'</span><span class="p">,</span><span class="w"> </span><span class="s1">'TU'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| <span class="o">|</span><span class="n">next_day</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">14</span><span class="p">,</span><span class="w"> </span><span class="n">TU</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">20</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">------------------------+</span> |
| |
| <span class="c1">-- now</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">now</span><span class="p">();</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">now</span><span class="p">()</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| <span class="o">|</span><span class="mi">2022</span><span class="o">-</span><span class="mi">06</span><span class="o">-</span><span class="mi">09</span><span class="w"> </span><span class="mi">21</span><span class="p">:</span><span class="mi">11</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------+</span> |
| |
| <span class="c1">-- quarter</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">quarter</span><span class="p">(</span><span class="s1">'2016-08-31'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="n">quarter</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- second</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">second</span><span class="p">(</span><span class="s1">'2009-07-30 12:58:59'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="k">second</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">12</span><span class="p">:</span><span class="mi">58</span><span class="p">:</span><span class="mi">59</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">59</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------+</span> |
| |
| <span class="c1">-- session_window</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:00:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:04:30'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:10:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:01:00'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">'5 minutes'</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">09</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">06</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:00:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:04:30'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:10:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:01:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:04:30'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">session_window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'A1'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'5 minutes'</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">a</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'A2'</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="s1">'1 minute'</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="s1">'10 minutes'</span><span class="w"> </span><span class="k">END</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">09</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">02</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">04</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">30</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| |
| <span class="c1">-- timestamp_micros</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_micros</span><span class="p">(</span><span class="mi">1230219000123123</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="n">timestamp_micros</span><span class="p">(</span><span class="mi">1230219000123123</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| |
| <span class="c1">-- timestamp_millis</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_millis</span><span class="p">(</span><span class="mi">1230219000123</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| <span class="o">|</span><span class="n">timestamp_millis</span><span class="p">(</span><span class="mi">1230219000123</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------------+</span> |
| |
| <span class="c1">-- timestamp_seconds</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">.</span><span class="mi">123</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">timestamp_seconds</span><span class="p">(</span><span class="mi">1230219000</span><span class="p">.</span><span class="mi">123</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2008</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">25</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">30</span><span class="p">:...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="c1">-- to_date</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">to_date</span><span class="p">(</span><span class="s1">'2009-07-30 04:17:52'</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">'2016-12-31'</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd'</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">'2016-12-31 00:12:00'</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">'2016-12-31'</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd'</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">'2016-04-08'</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd'</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">'2016-08-31'</span><span class="p">,</span><span class="w"> </span><span class="s1">'Asia/Seoul'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="n">to_utc_timestamp</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="n">Asia</span><span class="o">/</span><span class="n">Seoul</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">30</span><span class="w"> </span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------------+</span> |
| |
| <span class="c1">-- trunc</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">'2019-08-04'</span><span class="p">,</span><span class="w"> </span><span class="s1">'week'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2019</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">04</span><span class="p">,</span><span class="w"> </span><span class="n">week</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">29</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">'2019-08-04'</span><span class="p">,</span><span class="w"> </span><span class="s1">'quarter'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------+</span> |
| <span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2019</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">04</span><span class="p">,</span><span class="w"> </span><span class="n">quarter</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2019</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">'2009-02-12'</span><span class="p">,</span><span class="w"> </span><span class="s1">'MM'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="n">MM</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2009</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">trunc</span><span class="p">(</span><span class="s1">'2015-10-27'</span><span class="p">,</span><span class="w"> </span><span class="s1">'YEAR'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="n">trunc</span><span class="p">(</span><span class="mi">2015</span><span class="o">-</span><span class="mi">10</span><span class="o">-</span><span class="mi">27</span><span class="p">,</span><span class="w"> </span><span class="k">YEAR</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2015</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-----------------------+</span> |
| |
| <span class="c1">-- unix_date</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_date</span><span class="p">(</span><span class="nb">DATE</span><span class="p">(</span><span class="ss">"1970-01-02"</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="n">unix_date</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">02</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------+</span> |
| |
| <span class="c1">-- unix_micros</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_micros</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">'1970-01-01 00:00:01Z'</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">unix_micros</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1000000</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="c1">-- unix_millis</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_millis</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">'1970-01-01 00:00:01Z'</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="n">unix_millis</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1000</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---------------------------------+</span> |
| |
| <span class="c1">-- unix_seconds</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_seconds</span><span class="p">(</span><span class="k">TIMESTAMP</span><span class="p">(</span><span class="s1">'1970-01-01 00:00:01Z'</span><span class="p">));</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="n">unix_seconds</span><span class="p">(</span><span class="mi">1970</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">01</span><span class="n">Z</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------------------+</span> |
| |
| <span class="c1">-- unix_timestamp</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_timestamp</span><span class="p">();</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------+</span> |
| <span class="o">|</span><span class="n">unix_timestamp</span><span class="p">(</span><span class="k">current_timestamp</span><span class="p">(),</span><span class="w"> </span><span class="n">yyyy</span><span class="o">-</span><span class="n">MM</span><span class="o">-</span><span class="n">dd</span><span class="w"> </span><span class="n">HH</span><span class="p">:</span><span class="n">mm</span><span class="p">:</span><span class="n">ss</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">1654809095</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">unix_timestamp</span><span class="p">(</span><span class="s1">'2016-04-08'</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd'</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">'2009-07-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">weekday</span><span class="p">(</span><span class="mi">2009</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------+</span> |
| |
| <span class="c1">-- weekofyear</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">weekofyear</span><span class="p">(</span><span class="s1">'2008-02-20'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="n">weekofyear</span><span class="p">(</span><span class="mi">2008</span><span class="o">-</span><span class="mi">02</span><span class="o">-</span><span class="mi">20</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">8</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------------+</span> |
| |
| <span class="c1">-- window</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:00:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:04:30'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:06:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:01:00'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">'5 minutes'</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">start</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">.</span><span class="k">end</span><span class="p">,</span><span class="w"> </span><span class="k">count</span><span class="p">(</span><span class="o">*</span><span class="p">)</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="n">cnt</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:00:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:04:30'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A1'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:06:00'</span><span class="p">),</span><span class="w"> </span><span class="p">(</span><span class="s1">'A2'</span><span class="p">,</span><span class="w"> </span><span class="s1">'2021-01-01 00:01:00'</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="n">tab</span><span class="p">(</span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">b</span><span class="p">)</span><span class="w"> </span><span class="k">GROUP</span><span class="w"> </span><span class="k">by</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="n">window</span><span class="p">(</span><span class="n">b</span><span class="p">,</span><span class="w"> </span><span class="s1">'10 minutes'</span><span class="p">,</span><span class="w"> </span><span class="s1">'5 minutes'</span><span class="p">)</span><span class="w"> </span><span class="k">ORDER</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">a</span><span class="p">,</span><span class="w"> </span><span class="k">start</span><span class="p">;</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">a</span><span class="o">|</span><span class="w"> </span><span class="k">start</span><span class="o">|</span><span class="w"> </span><span class="k">end</span><span class="o">|</span><span class="n">cnt</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2020</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">55</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">2</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">3</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A1</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">15</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2020</span><span class="o">-</span><span class="mi">12</span><span class="o">-</span><span class="mi">31</span><span class="w"> </span><span class="mi">23</span><span class="p">:</span><span class="mi">55</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">05</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">|</span><span class="w"> </span><span class="n">A2</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="mi">2021</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">01</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">10</span><span class="p">:</span><span class="mi">00</span><span class="o">|</span><span class="w"> </span><span class="mi">1</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+-------------------+-------------------+---+</span> |
| |
| <span class="c1">-- year</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="k">year</span><span class="p">(</span><span class="s1">'2016-07-30'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="k">year</span><span class="p">(</span><span class="mi">2016</span><span class="o">-</span><span class="mi">07</span><span class="o">-</span><span class="mi">30</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="mi">2016</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">----------------+</span> |
| </code></pre></div> |
| |
| <h3 id="json-functions">JSON Functions</h3> |
| <table class="table"> |
| <thead> |
| <tr> |
| <th style="width:25%">Function</th> |
| <th>Description</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td>from_json(jsonStr, schema[, options])</td> |
| <td>Returns a struct value with the given `jsonStr` and `schema`.</td> |
| </tr> |
| <tr> |
| <td>get_json_object(json_txt, path)</td> |
| <td>Extracts a json object from `path`.</td> |
| </tr> |
| <tr> |
| <td>json_array_length(jsonArray)</td> |
| <td>Returns the number of elements in the outermost JSON array.</td> |
| </tr> |
| <tr> |
| <td>json_object_keys(json_object)</td> |
| <td>Returns all the keys of the outermost JSON object as an array.</td> |
| </tr> |
| <tr> |
| <td>json_tuple(jsonStr, p1, p2, ..., pn)</td> |
| <td>Returns a tuple like the function get_json_object, but it takes multiple names. All the input parameters and output column types are string.</td> |
| </tr> |
| <tr> |
| <td>schema_of_json(json[, options])</td> |
| <td>Returns schema in the DDL format of JSON string.</td> |
| </tr> |
| <tr> |
| <td>to_json(expr[, options])</td> |
| <td>Returns a JSON string with a given struct value</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <h4 id="examples-5">Examples</h4> |
| <div class="codehilite"><pre><span></span><code><span class="c1">-- from_json</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">from_json</span><span class="p">(</span><span class="s1">'{"a":1, "b":0.8}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'a INT, b DOUBLE'</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">"a"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="ss">"b"</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">'{"time":"26/08/2015"}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'time Timestamp'</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">'timestampFormat'</span><span class="p">,</span><span class="w"> </span><span class="s1">'dd/MM/yyyy'</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">"time"</span><span class="p">:</span><span class="ss">"26/08/2015"</span><span class="err">}</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="mi">2015</span><span class="o">-</span><span class="mi">08</span><span class="o">-</span><span class="mi">26</span><span class="w"> </span><span class="mi">00</span><span class="p">:</span><span class="mi">00</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------+</span> |
| |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">from_json</span><span class="p">(</span><span class="s1">'{"teacher": "Alice", "student": [{"name": "Bob", "rank": 1}, {"name": "Charlie", "rank": 2}]}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'STRUCT<teacher: STRING, student: ARRAY<STRUCT<name: STRING, rank: INT>>>'</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">"teacher"</span><span class="p">:</span><span class="w"> </span><span class="ss">"Alice"</span><span class="p">,</span><span class="w"> </span><span class="ss">"student"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="ss">"name"</span><span class="p">:</span><span class="w"> </span><span class="ss">"Bob"</span><span class="p">,</span><span class="w"> </span><span class="ss">"rank"</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">,</span><span class="w"> </span><span class="err">{</span><span class="ss">"name"</span><span class="p">:</span><span class="w"> </span><span class="ss">"Charlie"</span><span class="p">,</span><span class="w"> </span><span class="ss">"rank"</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">}</span><span class="p">]</span><span class="err">}</span><span class="p">)</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------+</span> |
| <span class="o">|</span><span class="w"> </span><span class="err">{</span><span class="n">Alice</span><span class="p">,</span><span class="w"> </span><span class="p">[</span><span class="err">{</span><span class="n">Bob</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="err">}</span><span class="p">...</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">--------------------------------------------------------------------------------------------------------+</span> |
| |
| <span class="c1">-- get_json_object</span> |
| <span class="k">SELECT</span><span class="w"> </span><span class="n">get_json_object</span><span class="p">(</span><span class="s1">'{"a":"b"}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'$.a'</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">"a"</span><span class="p">:</span><span class="ss">"b"</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">'[1,2,3,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">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">'[1,2,3,{"f1":1,"f2":[5,6]},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">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">"f1"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"f2"</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">'[1,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">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">'{}'</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">'{"key": "value"}'</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">"key"</span><span class="p">:</span><span class="w"> </span><span class="ss">"value"</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">'{"f1":"abc","f2":{"f3":"a", "f4":"b"}}'</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">"f1"</span><span class="p">:</span><span class="ss">"abc"</span><span class="p">,</span><span class="ss">"f2"</span><span class="p">:</span><span class="err">{</span><span class="ss">"f3"</span><span class="p">:</span><span class="ss">"a"</span><span class="p">,</span><span class="w"> </span><span class="ss">"f4"</span><span class="p">:</span><span class="ss">"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="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">'{"a":1, "b":2}'</span><span class="p">,</span><span class="w"> </span><span class="s1">'a'</span><span class="p">,</span><span class="w"> </span><span class="s1">'b'</span><span class="p">);</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">---+---+</span> |
| <span class="o">|</span><span class="w"> </span><span class="n">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">'[{"col":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">schema_of_json</span><span class="p">([</span><span class="err">{</span><span class="ss">"col"</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"><</span><span class="n">STRUCT</span><span class="o"><</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">'[{"col":01}]'</span><span class="p">,</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">'allowNumericLeadingZeros'</span><span class="p">,</span><span class="w"> </span><span class="s1">'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">schema_of_json</span><span class="p">([</span><span class="err">{</span><span class="ss">"col"</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"><</span><span class="n">STRUCT</span><span class="o"><</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">'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="s1">'b'</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">));</span><span class="w"></span> |
| <span class="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">"a"</span><span class="p">:</span><span class="mi">1</span><span class="p">,</span><span class="ss">"b"</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">'time'</span><span class="p">,</span><span class="w"> </span><span class="n">to_timestamp</span><span class="p">(</span><span class="s1">'2015-08-26'</span><span class="p">,</span><span class="w"> </span><span class="s1">'yyyy-MM-dd'</span><span class="p">)),</span><span class="w"> </span><span class="k">map</span><span class="p">(</span><span class="s1">'timestampFormat'</span><span class="p">,</span><span class="w"> </span><span class="s1">'dd/MM/yyyy'</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">"time"</span><span class="p">:</span><span class="ss">"26/08/20...|</span> |
| <span class="ss">+-----------------------------------------------------------------+</span> |
| |
| <span class="ss">SELECT to_json(array(named_struct('a', 1, 'b', 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">| [{"</span><span class="n">a</span><span class="ss">":1,"</span><span class="n">b</span><span class="ss">":2}]|</span> |
| <span class="ss">+----------------------------------------+</span> |
| |
| <span class="ss">SELECT to_json(map('a', named_struct('b', 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">| {"</span><span class="n">a</span><span class="ss">":{"</span><span class="n">b</span><span class="ss">":1}}|</span> |
| <span class="ss">+-----------------------------------+</span> |
| |
| <span class="ss">SELECT to_json(map(named_struct('a', 1),named_struct('b', 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">| {"</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="ss">":{"</span><span class="n">b</span><span class="ss">":2}}|</span> |
| <span class="ss">+----------------------------------------------------+</span> |
| |
| <span class="ss">SELECT to_json(map('a', 1));</span> |
| <span class="ss">+------------------+</span> |
| <span class="ss">|to_json(map(a, 1))|</span> |
| <span class="ss">+------------------+</span> |
| <span class="ss">| {"</span><span class="n">a</span><span class="ss">":1}|</span> |
| <span class="ss">+------------------+</span> |
| |
| <span class="ss">SELECT to_json(array((map('a', 1))));</span> |
| <span class="ss">+-------------------------+</span> |
| <span class="ss">|to_json(array(map(a, 1)))|</span> |
| <span class="ss">+-------------------------+</span> |
| <span class="ss">| [{"</span><span class="n">a</span><span class="err">"</span><span class="p">:</span><span class="mi">1</span><span class="err">}</span><span class="p">]</span><span class="o">|</span><span class="w"></span> |
| <span class="o">+</span><span class="c1">-------------------------+</span> |
| </code></pre></div> |
| |
| |
| |
| </div> |
| |
| <!-- /container --> |
| </div> |
| |
| <script src="js/vendor/jquery-3.5.1.min.js"></script> |
| <script src="js/vendor/bootstrap.bundle.min.js"></script> |
| <script src="js/vendor/anchor.min.js"></script> |
| <script src="js/main.js"></script> |
| <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script> |
| <script type="text/javascript"> |
| // DocSearch is entirely free and automated. DocSearch is built in two parts: |
| // 1. a crawler which we run on our own infrastructure every 24 hours. It follows every link |
| // in your website and extract content from every page it traverses. It then pushes this |
| // content to an Algolia index. |
| // 2. a JavaScript snippet to be inserted in your website that will bind this Algolia index |
| // to your search input and display its results in a dropdown UI. If you want to find more |
| // details on how works DocSearch, check the docs of DocSearch. |
| docsearch({ |
| apiKey: 'd62f962a82bc9abb53471cb7b89da35e', |
| appId: 'RAI69RXRSK', |
| indexName: 'apache_spark', |
| inputSelector: '#docsearch-input', |
| enhancedSearchInput: true, |
| algoliaOptions: { |
| 'facetFilters': ["version:3.3.0"] |
| }, |
| debug: false // Set debug to true if you want to inspect the dropdown |
| }); |
| |
| </script> |
| |
| <!-- MathJax Section --> |
| <script type="text/x-mathjax-config"> |
| MathJax.Hub.Config({ |
| TeX: { equationNumbers: { autoNumber: "AMS" } } |
| }); |
| </script> |
| <script> |
| // Note that we load MathJax this way to work with local file (file://), HTTP and HTTPS. |
| // We could use "//cdn.mathjax...", but that won't support "file://". |
| (function(d, script) { |
| script = d.createElement('script'); |
| script.type = 'text/javascript'; |
| script.async = true; |
| script.onload = function(){ |
| MathJax.Hub.Config({ |
| tex2jax: { |
| inlineMath: [ ["$", "$"], ["\\\\(","\\\\)"] ], |
| displayMath: [ ["$$","$$"], ["\\[", "\\]"] ], |
| processEscapes: true, |
| skipTags: ['script', 'noscript', 'style', 'textarea', 'pre'] |
| } |
| }); |
| }; |
| script.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + |
| 'cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js' + |
| '?config=TeX-AMS-MML_HTMLorMML'; |
| d.getElementsByTagName('head')[0].appendChild(script); |
| }(document)); |
| </script> |
| </body> |
| </html> |