-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
62 lines (59 loc) · 48.2 KB
/
index.html
File metadata and controls
62 lines (59 loc) · 48.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-sql/array" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.9.2">
<title data-rh="true">Array Operations | Feldera Documentation</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:url" content="https://docs.feldera.com/sql/array"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Array Operations | Feldera Documentation"><meta data-rh="true" name="description" content="An array type can be created by applying the ARRAY suffix to another"><meta data-rh="true" property="og:description" content="An array type can be created by applying the ARRAY suffix to another"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="canonical" href="https://docs.feldera.com/sql/array"><link data-rh="true" rel="alternate" href="https://docs.feldera.com/sql/array" hreflang="en"><link data-rh="true" rel="alternate" href="https://docs.feldera.com/sql/array" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://WX24466N8W-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Pipelines","item":"https://docs.feldera.com/pipelines/"},{"@type":"ListItem","position":2,"name":"Feldera SQL","item":"https://docs.feldera.com/sql/"},{"@type":"ListItem","position":3,"name":"Array Operations","item":"https://docs.feldera.com/sql/array"}]}</script><link rel="search" type="application/opensearchdescription+xml" title="Feldera Documentation" href="/opensearch.xml">
<link rel="preconnect" href="https://us.i.posthog.com">
<script>!function(t,e){var o,s,r,a;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,n,p){function c(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(r=t.createElement("script")).type="text/javascript",r.async=!0,r.src=n.api_host.replace(".i.posthog.com","-assets.i.posthog.com")+"/static/array.js",(a=t.getElementsByTagName("script")[0]).parentNode.insertBefore(r,a);var g=e;for(void 0!==p?g=e[p]=[]:p="posthog",g.people=g.people||[],g.toString=function(t){var e="posthog";return"posthog"!==p&&(e+="."+p),t||(e+=" (stub)"),e},g.people.toString=function(){return g.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),s=0;s<o.length;s++)c(g,o[s]);e._i.push([i,n,p])},e.__SV=1)}(document,window.posthog||[]),posthog.init("phc_GKR68l5zo531AD1R3cnE3MCPEBPXTqgYax4q053LVBD",{api_host:"https://us.i.posthog.com",id:"default"})</script>
<script async defer="defer" id="hs-script-loader" src="//js.hs-scripts.com/45801078.js"></script><link rel="stylesheet" href="/assets/css/styles.b3ba7e83.css">
<script src="/assets/js/runtime~main.e7190946.js" defer="defer"></script>
<script src="/assets/js/main.af24a2ce.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>document.documentElement.setAttribute("data-theme","light"),document.documentElement.setAttribute("data-theme-choice","light"),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a href="https://www.feldera.com" target="_blank" rel="noopener noreferrer" class="navbar__brand"><div class="navbar__logo"><img src="/img/logo-color-dark.svg" alt="Feldera Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/img/logo-color-light.svg" alt="Feldera Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div></a><a class="navbar__item navbar__link" href="/get-started">Get Started</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/sql">SQL Reference</a><a class="navbar__item navbar__link" href="/connectors">Connectors</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu"><li><a href="https://join.slack.com/t/felderacommunity/shared_invite/zt-222bq930h-dgsu5IEzAihHg8nQt~dHzA" target="_blank" rel="noopener noreferrer" class="dropdown__link">Slack<svg width="12" height="12" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li><a href="https://discord.com/invite/s6t5n9UzHE" target="_blank" rel="noopener noreferrer" class="dropdown__link">Discord<svg width="12" height="12" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li><a href="https://github.com/feldera/feldera" target="_blank" rel="noopener noreferrer" class="dropdown__link">GitHub<svg width="12" height="12" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="navbarSearchContainer_Bca1"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search (Meta+k)" aria-keyshortcuts="Meta+k"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="8" stroke="currentColor" fill="none" stroke-width="1.4"></circle><path d="m21 21-4.3-4.3" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/"><span title="What is Feldera?" class="linkLabel_WmDU">What is Feldera?</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/architecture/enterprise"><span title="Architecture" class="categoryLinkLabel_W154">Architecture</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/get-started/"><span title="Install Feldera" class="categoryLinkLabel_W154">Install Feldera</span></a><button aria-label="Expand sidebar category 'Install Feldera'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/tutorials/"><span title="Guides" class="categoryLinkLabel_W154">Guides</span></a><button aria-label="Expand sidebar category 'Guides'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" href="/interface/"><span title="Feldera Interface" class="categoryLinkLabel_W154">Feldera Interface</span></a><button aria-label="Collapse sidebar category 'Feldera Interface'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/interface/web-console"><span title="Web Console" class="linkLabel_WmDU">Web Console</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/interface/cli"><span title="Command line tool (fda)" class="linkLabel_WmDU">Command line tool (fda)</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a href="/python/" target="_blank" rel="noopener noreferrer" class="menu__link menuExternalLink_NmtK" tabindex="0"><span title="Python SDK" class="linkLabel_WmDU">Python SDK</span><svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a href="/api" target="_blank" rel="noopener noreferrer" class="menu__link menuExternalLink_NmtK" tabindex="0"><span title="REST API" class="linkLabel_WmDU">REST API</span><svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--active" href="/pipelines/"><span title="Pipelines" class="categoryLinkLabel_W154">Pipelines</span></a><button aria-label="Collapse sidebar category 'Pipelines'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--active" tabindex="0" href="/sql/"><span title="Feldera SQL" class="categoryLinkLabel_W154">Feldera SQL</span></a><button aria-label="Collapse sidebar category 'Feldera SQL'" aria-expanded="true" type="button" class="clean-btn menu__caret"></button></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/grammar"><span title="SQL Grammar" class="linkLabel_WmDU">SQL Grammar</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/identifiers"><span title="Identifiers" class="linkLabel_WmDU">Identifiers</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/types"><span title="Data Types" class="linkLabel_WmDU">Data Types</span></a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-3 menu__list-item"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" tabindex="0" href="/sql/aggregates"><span title="Operations" class="categoryLinkLabel_W154">Operations</span></a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/aggregates"><span title="Aggregate Operations" class="linkLabel_WmDU">Aggregate Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/sql/array"><span title="Array Operations" class="linkLabel_WmDU">Array Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/binary"><span title="Binary (Byte Array) Operations" class="linkLabel_WmDU">Binary (Byte Array) Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/boolean"><span title="Boolean Operations" class="linkLabel_WmDU">Boolean Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/casts"><span title="Casts and Data Type Conversions" class="linkLabel_WmDU">Casts and Data Type Conversions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/comparisons"><span title="Comparison Operations" class="linkLabel_WmDU">Comparison Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/datetime"><span title="Date- and Time-Related Operations" class="linkLabel_WmDU">Date- and Time-Related Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/decimal"><span title="Decimal Operations" class="linkLabel_WmDU">Decimal Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/float"><span title="Floating Point Operations" class="linkLabel_WmDU">Floating Point Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/function-index"><span title="Index of Functions and SQL Constructs Supported in Feldera SQL" class="linkLabel_WmDU">Index of Functions and SQL Constructs Supported in Feldera SQL</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/integer"><span title="Integer Operations" class="linkLabel_WmDU">Integer Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/json"><span title="JSON and Dynamically-Typed Value Support" class="linkLabel_WmDU">JSON and Dynamically-Typed Value Support</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/map"><span title="Map Operations" class="linkLabel_WmDU">Map Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/operators"><span title="Operators" class="linkLabel_WmDU">Operators</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/string"><span title="String Operations" class="linkLabel_WmDU">String Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/table"><span title="Table Functions" class="linkLabel_WmDU">Table Functions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/uuid"><span title="UUID Operations" class="linkLabel_WmDU">UUID Operations</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-4 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/unsupported-operations"><span title="Unsupported and Limited SQL Operations" class="linkLabel_WmDU">Unsupported and Limited SQL Operations</span></a></li></ul></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/materialized"><span title="Materialized Tables and Views" class="linkLabel_WmDU">Materialized Tables and Views</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/recursion"><span title="Mutually-Recursive Queries" class="linkLabel_WmDU">Mutually-Recursive Queries</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/ad-hoc"><span title="Ad-hoc SQL Queries" class="linkLabel_WmDU">Ad-hoc SQL Queries</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/streaming"><span title="Time-Series Extensions" class="linkLabel_WmDU">Time-Series Extensions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/system"><span title="System Views" class="linkLabel_WmDU">System Views</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-3 menu__list-item"><a class="menu__link" tabindex="0" href="/sql/udf"><span title="User-Defined Functions" class="linkLabel_WmDU">User-Defined Functions</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" tabindex="0" href="/connectors/"><span title="Connectors" class="categoryLinkLabel_W154">Connectors</span></a><button aria-label="Expand sidebar category 'Connectors'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist" tabindex="0" href="/formats/"><span title="Formats" class="categoryLinkLabel_W154">Formats</span></a><button aria-label="Expand sidebar category 'Formats'" aria-expanded="false" type="button" class="clean-btn menu__caret"></button></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-2 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" tabindex="0" href="/pipelines/fault-tolerance-overview"><span title="Fault Tolerance & DR" class="categoryLinkLabel_W154">Fault Tolerance & DR</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/lifecycle"><span title="Reference: Pipeline Lifecycle" class="linkLabel_WmDU">Reference: Pipeline Lifecycle</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/configuration"><span title="Settings" class="linkLabel_WmDU">Settings</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/modifying"><span title="Modifying a Pipeline" class="linkLabel_WmDU">Modifying a Pipeline</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/transactions"><span title="Efficient Bulk Data Processing using Transactions" class="linkLabel_WmDU">Efficient Bulk Data Processing using Transactions</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/latency"><span title="Measuring Pipeline Latency" class="linkLabel_WmDU">Measuring Pipeline Latency</span></a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/pipelines/sidecar"><span title="Sidecar Containers" class="linkLabel_WmDU">Sidecar Containers</span></a></li></ul></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/operations/guide"><span title="Feldera Operations" class="categoryLinkLabel_W154">Feldera Operations</span></a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="categoryLink_byQd menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/literature/papers"><span title="Literature" class="categoryLinkLabel_W154">Literature</span></a></div></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link" href="/changelog"><span title="Changelog" class="linkLabel_WmDU">Changelog</span></a></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/pipelines/"><span>Pipelines</span></a></li><li class="breadcrumbs__item"><a class="breadcrumbs__link" href="/sql/"><span>Feldera SQL</span></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Operations</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Array Operations</span></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Array Operations</h1></header>
<p>An array type can be created by applying the <code>ARRAY</code> suffix to another
type. For example <code>INT ARRAY</code> is an array of integers. Array indexes
start from 1. Array sizes are limited to 2^31 elements. Array values
be nullable types, e.g., <code>INT ARRAY NULL</code>. Multidimensional arrays
are possible, e.g. <code>VARCHAR ARRAY ARRAY</code> is a two-dimensional array.</p>
<p>In <code>CREATE TABLE</code> and <code>CREATE TYPE</code> declarations there is no way to
specify the nullability of the elements of an <code>ARRAY</code>. The compiler
will always assume that array elements are nullable:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">TABLE</span><span class="token plain"> T</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">a </span><span class="token keyword" style="color:#00009f">INT</span><span class="token plain"> ARRAY</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<p>Table <code>T</code> will have a single column <code>a</code> whose values are nullable
arrays; the array elements will be nullable INT values.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="array-literals">Array literals<a href="#array-literals" class="hash-link" aria-label="Direct link to Array literals" title="Direct link to Array literals" translate="no"></a></h2>
<p>Array literals have the syntax <code>ARRAY[</code>expr [<code>,</code>expr]*<code>]</code>. An example
creating a nested array is: <code>ARRAY[ARRAY[1, 2], ARRAY[3, 4]]</code>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-unnest-sql-operator">The <code>UNNEST</code> SQL Operator<a href="#the-unnest-sql-operator" class="hash-link" aria-label="Direct link to the-unnest-sql-operator" title="Direct link to the-unnest-sql-operator" translate="no"></a></h2>
<p>The <code>UNNEST</code> operator takes an <code>ARRAY</code> and returns a table with a
row for each element in the <code>ARRAY</code>: <code>UNNEST(ARRAY) [WITH ORDINALITY]</code>. If the input is an array with 5 elements, the output
is a table with 5 rows, each row holding one element of the array.
The additional keyword <code>WITH ORDINALITY</code> creates an output table
with two columns, where the second column is the index of the element
within the array, with numbering starting at 1. If the array contains
duplicated values, the resulting table will be a multiset.</p>
<p>The <code>UNNEST</code> operator can be used in self-joins as follows:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">TABLE</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">data</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">CITIES </span><span class="token keyword" style="color:#00009f">VARCHAR</span><span class="token plain"> ARRAY</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> COUNTRY </span><span class="token keyword" style="color:#00009f">VARCHAR</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">VIEW</span><span class="token plain"> V </span><span class="token keyword" style="color:#00009f">AS</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">SELECT</span><span class="token plain"> city</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> country</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">FROM</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">data</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> UNNEST</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">cities</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">AS</span><span class="token plain"> t </span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">city</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<p>The previous query is a shortcut for a CROSS-JOIN query:</p>
<div class="language-sql codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-sql codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">CREATE</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">VIEW</span><span class="token plain"> V </span><span class="token keyword" style="color:#00009f">AS</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">SELECT</span><span class="token plain"> city</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">data</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">country</span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">FROM</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">data</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">CROSS</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">JOIN</span><span class="token plain"> UNNEST</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">data</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">cities</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">AS</span><span class="token plain"> city</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<p><code>UNNEST</code> applied to a <code>NULL</code> value returns an empty table.</p>
<p>Note that applying <code>UNNEST</code> to an <code>ARRAY</code> of structure-typed objects
will produce a collection whose columns are the fields of the
structure, instead of a collection with a single structure-typed
column.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="comparison-operations-on-arrays">Comparison Operations on Arrays<a href="#comparison-operations-on-arrays" class="hash-link" aria-label="Direct link to Comparison Operations on Arrays" title="Direct link to Comparison Operations on Arrays" translate="no"></a></h2>
<p>Comparison operations (<code>=</code>, <code><></code>, <code>!=</code>, <code>></code>, <code><</code>, <code>>=</code>, <code><=</code>) in arrays occur <strong>lexicographically</strong>, from left to right. The elements are compared one by one until a difference is found. Arrays can be compared even if they are different in size.</p>
<p><strong>Examples:</strong></p>
<ul>
<li class=""><code>[45] > [22]</code></li>
<li class=""><code>[23, 56, 16] > [23, NULL]</code></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="predefined-functions-on-array-values">Predefined functions on array values<a href="#predefined-functions-on-array-values" class="hash-link" aria-label="Direct link to Predefined functions on array values" title="Direct link to Predefined functions on array values" translate="no"></a></h2>
<table><thead><tr><th>Function</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td><em>array</em><code>[</code><em>index</em><code>]</code></td><td>where <em>index</em> is an expression that evaluates to an integer, and <em>array</em> is an expression that evaluates to an array. Returns the element at the specified position. If the index is out of bounds, the result is <code>NULL</code>.</td><td><code>ARRAY[2,3][2]</code> => 3</td></tr><tr><td><a id="safe_offset"></a><em>array</em><code>[SAFE_OFFSET(</code><em>index</em><code>)]</code></td><td>where <em>index</em> is an expression that evaluates to an integer, and <em>array</em> is an expression that evaluates to an array. Returns the element at the specified position, with first element at index 0. If the index is out of bounds, the result is <code>NULL</code>.</td><td><code>ARRAY[2,3][SAFE_OFFSET(2)]</code> => NULL</td></tr><tr><td><a id="constructor"></a><code>ARRAY(</code> [ exp [, exp]* ]<code>)</code></td><td>Array constructor function. Can have zero arguments.</td><td><code>ARRAY()</code> => <code>[]</code>, <code>ARRAY(NULL, 2)</code> => <code>[NULL, 2]</code></td></tr><tr><td><a id="append"></a><code>ARRAY_APPEND(</code> <em>array</em> <code>, </code> <em>element</em> <code>)</code></td><td>Appends an element to the end of the array and returns the result. If the array is <code>NULL</code>, the function will return <code>NULL</code>. If the <em>element</em> is <code>NULL</code>, the <code>NULL</code> element will be added to the end of the array.</td><td><code>ARRAY_APPEND(ARRAY [1, 2], 3)</code> => <code>[1, 2, 3]</code></td></tr><tr><td><a id="concat"></a><code>ARRAY_CONCAT(</code> <em>array</em>, [ <em>array</em> ]* <code>)</code></td><td>Returns <code>NULL</code> if any argument is <code>NULL</code>. Concatenates a list of arrays.</td><td><code>ARRAY_CONCAT(ARRAY [1, 2, 3], ARRAY[4])</code> => <code>[1, 2, 3, 4]</code></td></tr><tr><td><a id="compact"></a><code>ARRAY_COMPACT(</code> <em>array</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> is <code>NULL</code>. Returns a new array by removing all the <code>NULL</code> values from the <em>array</em>.</td><td><code>ARRAY_COMPACT(ARRAY [1, 2, 3, NULL])</code> => <code>[1, 2, 3]</code></td></tr><tr><td><a id="contains"></a><a id="contains"></a><code>ARRAY_CONTAINS(</code> <em>array</em> <code>, </code> <em>element</em> <code>)</code></td><td>The right argument must have the same type as array elements. Returns true if the <em>array</em> contains the <em>element</em>.</td><td><code>ARRAY_CONTAINS(ARRAY [1, 2, 3], 2)</code> => true</td></tr><tr><td><a id="distinct"></a><code>ARRAY_DISTINCT(</code> <em>array</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> is <code>NULL</code>. Returns a new array removing duplicate values from the <em>array</em> and keeping the order of elements.</td><td><code>ARRAY_DISTINCT(ARRAY [1, 1, 2, 2])</code> => <code>[1, 2]</code></td></tr><tr><td><a id="except"></a><code>ARRAY_EXCEPT(</code> <em>left</em>, <em>right</em> <code>)</code></td><td>Returns <code>NULL</code> if any argument is <code>NULL</code>. Returns an array with all elements in the <em>left</em> array that do not appear in the <em>right</em> array, removing duplicates.</td><td><code>ARRAY_EXCEPT(ARRAY [1, 2, 3], ARRAY [3,1,4])</code> => <code>[2]</code></td></tr><tr><td><a id="array_exists"></a><code>ARRAY_EXISTS(</code> <em>array</em>, <em>predicate</em> <code>)</code></td><td><em>predicate</em> is a lambda expression with an argument that has the array element type, returning a Boolean. <code>ARRAY_EXISTS</code> returns <code>true</code> when the predicate returns <code>true</code> for at least one element. If the array is empty, returns <code>false</code>. If the result is not true and the predicate evaluates to NULL for any element, it returns NULL.</td><td><code>ARRAY_EXISTS(ARRAY[1, -2, 3], x -> x > 0)</code> => true</td></tr><tr><td><a id="insert"></a><code>ARRAY_INSERT(</code> <em>array</em>, <em>pos</em>, <em>element</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> or <em>pos</em> are <code>NULL</code>. Insert <em>element</em> in array at specified position, padding with <code>NULL</code>s if necessary. If <em>pos</em> is negative, it is considered from the end of the array. Produces error when <em>pos</em> is zero or very large</td><td><code>ARRAY_INSERT(ARRAY [1, 2, 3], 3, 4)</code> => <code>[1,2,4,3]</code></td></tr><tr><td><a id="intersect"></a><code>ARRAY_INTERSECT(</code> <em>left</em>, <em>right</em> <code>)</code></td><td>Returns <code>NULL</code> if any argument is <code>NULL</code>. Returns an array with all elements that appear in common in both the <em>left</em> array and <em>right</em> arrays, with no duplicates.</td><td><code>ARRAY_INTERSECT(ARRAY [1, 2, 3], ARRAY [3,1,4])</code> => <code>[1,3]</code></td></tr><tr><td><a id="join"></a><code>ARRAY_JOIN</code></td><td>Another name for <code>ARRAY_TO_STRING</code></td><td></td></tr><tr><td><a id="length"></a><code>ARRAY_LENGTH(</code> <em>array</em> <code>)</code></td><td>Another name for <code>CARDINALITY</code></td><td><code>ARRAY_LENGTH( ARRAY [1, 2, 3])</code> => <code>3</code></td></tr><tr><td><a id="max"></a><code>ARRAY_MAX(</code> <em>array</em> <code>)</code></td><td>Returns the maximum value in the <em>array</em></td><td><code>ARRAY_MAX(ARRAY [9, 1, 2, 4, 8, null])</code> => 9</td></tr><tr><td><a id="min"></a><code>ARRAY_MIN(</code> <em>array</em> <code>)</code></td><td>Returns the minimum value in the <em>array</em>. Ignores null values.</td><td><code>ARRAY_MIN(ARRAY [9, 1, 2, 5, 8, null])</code> => 1</td></tr><tr><td><a id="overlap"></a><code>ARRAYS_OVERLAP(</code> <em>array1</em> <code>, </code> <em>array2</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array1</em> or <em>array2</em> is <code>NULL</code>. Errors if the two arrays are of different types. Returns true if the two arrays have at least one element in common.</td><td><code>ARRAYS_OVERLAP(ARRAY [1, 2, 3], ARRAY [3, 4, 5])</code> => true</td></tr><tr><td><a id="position"></a><code>ARRAY_POSITION(</code> <em>array</em> <code>, </code> <em>element</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> is <code>NULL</code>. The right argument must have the same type as array elements. Returns the (1-based) index of the first <em>element</em> of the <em>array</em> as a long. Returns 0 if <em>element</em> doesn't exist in <em>array</em>.</td><td><code>ARRAY_POSITION(ARRAY [1, 3, 4, 6], 4)</code> => 3</td></tr><tr><td><a id="prepend"></a><code>ARRAY_PREPEND(</code> <em>array</em> <code>, </code> <em>element</em> <code>)</code></td><td>Prepends an element to the start of the array and returns the result. If the array is <code>NULL</code>, the function will return <code>NULL</code>. If the element is <code>NULL</code>, the <code>NULL</code> element will be added to the start of the array.</td><td><code>ARRAY_PREPEND(ARRAY [2, 3], 1)</code> => <code>[1, 2, 3]</code></td></tr><tr><td><a id="remove"></a><code>ARRAY_REMOVE(</code> <em>array</em> <code>, </code> <em>element</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> is <code>NULL</code>. The right argument must have the same type as array elements. Returns a new array removing all elements that are equal to <em>element</em> from the given <em>array</em>.</td><td><code>ARRAY_REMOVE(ARRAY [2, 2, 6, 8], 2)</code> => <code>[6, 8]</code></td></tr><tr><td><a id="reverse"></a><code>ARRAY_REVERSE(</code> <em>array</em> <code>)</code></td><td>Returns <code>NULL</code> if <em>array</em> is <code>NULL</code>. Returns array with the elements in reverse order.</td><td><code>ARRAY_REVERSE(ARRAY [2, 2, 6, 8])</code> => <code>[8, 6, 2, 2]</code></td></tr><tr><td><a id="repeat"></a><code>ARRAY_REPEAT(</code> <em>element</em> <code>, </code> <em>count</em> <code>)</code></td><td>Returns the array containing <em>element</em> <em>count</em> times. If <em>count</em> is negative, an empty array is returned. If <em>count</em> is <code>NULL</code>, <code>NULL</code> is returned. If <em>element</em> is <code>NULL</code>, an array containing <em>count</em> number of <code>NULL</code>s is returned.</td><td><code>ARRAY_REPEAT(3, 4)</code> => <code>[3, 3, 3, 3]</code></td></tr><tr><td><a id="size"></a><code>ARRAY_SIZE(</code> <em>array</em> <code>)</code></td><td>Another name for <code>CARDINALITY</code></td><td><code>ARRAY_SIZE( ARRAY [1, 2, 3])</code> => <code>3</code></td></tr><tr><td><a id="to_string"></a><code>ARRAY_TO_STRING(</code> <em>array</em> <code>, </code> <em>separator</em> [<code>, </code> <em>null_string</em> ]<code>)</code></td><td>Concatenates the values of the string array <em>array</em>, separated by the <em>separator</em> string. If <em>null_string</em> is given and is not <code>NULL</code>, then <code>NULL</code> array entries are represented by that string; otherwise, they are omitted.</td><td><code>ARRAY_TO_STRING(ARRAY[1, 2, 3, NULL, 5], ',', '*')</code> => <code>1,2,3,*,5</code></td></tr><tr><td><a id="union"></a><code>ARRAY_UNION(</code> <em>left</em>, <em>right</em> <code>)</code></td><td>Returns <code>NULL</code> if any argument is <code>NULL</code>. Returns an array with all elements that either in the <em>left</em> array or the <em>right</em> arrays, with no duplicates.</td><td><code>ARRAY_UNION(ARRAY [1, 2, 3], ARRAY [3,1,4])</code> => <code>[1,2,3,4]</code></td></tr><tr><td><a id="cardinality"></a><code>CARDINALITY(</code> <em>array</em> <code>)</code></td><td>Returns the size of the <em>array</em> expression (number of elements).</td><td><code>CARDINALITY(ARRAY[2,3])</code> => 2</td></tr><tr><td><a id="element"></a><code>ELEMENT(</code> <em>array</em> <code>)</code></td><td>Returns the single element of an <em>array</em> of any type. If the array has zero elements, returns <code>NULL</code>. If the array has more than one element, it causes a runtime exception.</td><td><code>ELEMENT(ARRAY[2])</code> => 2</td></tr><tr><td><a id="sort"></a><code>SORT_ARRAY(</code> <em>array</em> <code>, [</code> <em>ascendingOrder</em> <code>])</code></td><td>Returns a new array, sorted in ascending (<em>ascendingOrder</em> is <code>true</code>) or descending order (<em>ascendingOrder</em> is <code>false</code>) according to the natural ordering of the array elements. The default order is ascending if ascendingOrder is not specified. Null elements are considered to be the smallest.</td><td><code>SORT_ARRAY(ARRAY [4, 7, 1, null])</code> => <code>[null, 1, 4, 7]</code></td></tr><tr><td><a id="transform"></a><code>TRANSFORM(</code> <em>array</em>, <em>function</em> <code>)</code></td><td><em>function</em> is a lambda expression with an argument that has the array element type. <code>TRANSFORM</code> returns a new array constructed by applying the function to every element of <em>array</em>. If <em>array</em> is NULL, it returns NULL</td><td><code>TRANSFORM(ARRAY[1, 2, 3], x -> x % 2)</code> => <code>[1, 0, 1]</code></td></tr></tbody></table></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/sql/aggregates"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">Aggregate Operations</div></a><a class="pagination-nav__link pagination-nav__link--next" href="/sql/binary"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Binary (Byte Array) Operations</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#array-literals" class="table-of-contents__link toc-highlight">Array literals</a></li><li><a href="#the-unnest-sql-operator" class="table-of-contents__link toc-highlight">The <code>UNNEST</code> SQL Operator</a></li><li><a href="#comparison-operations-on-arrays" class="table-of-contents__link toc-highlight">Comparison Operations on Arrays</a></li><li><a href="#predefined-functions-on-array-values" class="table-of-contents__link toc-highlight">Predefined functions on array values</a></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/get-started">Get Started</a></li><li class="footer__item"><a class="footer__link-item" href="/tutorials/basics/part1">Tutorial</a></li><li class="footer__item"><a class="footer__link-item" href="/sql/intro">SQL Reference</a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">Community</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://join.slack.com/t/felderacommunity/shared_invite/zt-222bq930h-dgsu5IEzAihHg8nQt~dHzA" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://discord.com/invite/s6t5n9UzHE" target="_blank" rel="noopener noreferrer" class="footer__link-item">Discord<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li><li class="footer__item"><a href="https://bsky.app/profile/feldera.bsky.social" target="_blank" rel="noopener noreferrer" class="footer__link-item">Bluesky<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div><div class="theme-layout-footer-column col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/feldera/feldera" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-label="(opens in new tab)" class="iconExternalLink_nPIU"><use href="#theme-svg-external-link"></use></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2026 Feldera Inc.</div></div></div></footer></div>
</body>
</html>