| <!doctype html> |
| <html lang="en-US" data-theme="light"> |
| <head> |
| <meta charset="utf-8" /> |
| <meta name="viewport" content="width=device-width,initial-scale=1" /> |
| <meta name="generator" content="VuePress 2.0.0-rc.26" /> |
| <meta name="theme" content="VuePress Theme Hope 2.0.0-rc.99" /> |
| <style> |
| :root { |
| --vp-c-bg: #fff; |
| } |
| |
| [data-theme="dark"] { |
| --vp-c-bg: #1b1b1f; |
| } |
| |
| html, |
| body { |
| background: var(--vp-c-bg); |
| } |
| </style> |
| <script> |
| const userMode = localStorage.getItem("vuepress-theme-hope-scheme"); |
| const systemDarkMode = |
| window.matchMedia && |
| window.matchMedia("(prefers-color-scheme: dark)").matches; |
| |
| if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) { |
| document.documentElement.setAttribute("data-theme", "dark"); |
| } |
| </script> |
| <script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","headline":"Basic Functions","image":[""],"dateModified":"2026-04-15T10:39:00.000Z","author":[]}</script><meta property="og:url" content="https://iotdb.apache.org/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html"><meta property="og:site_name" content="IoTDB Website"><meta property="og:title" content="Basic Functions"><meta property="og:description" content="Basic Functions 1. Comparison Functions and Operators 1.1 Basic Comparison Operators Comparison operators are used to compare two values and return the comparison result (true o..."><meta property="og:type" content="article"><meta property="og:locale" content="en-US"><meta property="og:locale:alternate" content="zh-CN"><meta property="og:updated_time" content="2026-04-15T10:39:00.000Z"><meta property="article:modified_time" content="2026-04-15T10:39:00.000Z"><link rel="alternate" hreflang="zh-cn" href="https://iotdb.apache.org/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html"><script async src="https://widget.kapa.ai/kapa-widget.bundle.js" data-website-id="2d37bfdd-8d98-40ba-9223-9d4f81bfb327" data-project-name="Apache IoTDB" data-project-color="#FFFFFF" data-button-z-index="1999" data-button-padding="4px" data-button-border-radius="4px" data-button-image-height="24px" data-button-image-width="20px" data-button-text-color="#9E2878" data-project-logo="https://iotdb.apache.org/img/logo.svg" data-button-position-right="16px" data-button-position-bottom="8px" data-button-height="56px" data-button-width="48px" data-button-text="Ask" data-modal-override-open-selector="#custom-ask-ai-button" data-modal-image-width="150px" data-modal-title="AI Docs" data-modal-title-color="#9E2878" data-deep-thinking-button-active-bg-color="#F6F7F8" data-deep-thinking-button-active-text-color="#9E2878" data-deep-thinking-button-active-hover-text-color="#9E2878" data-modal-disclaimer="This is a custom LLM for Apache IoTDB with access to all [documentation](iotdb.apache.org/docs/), [GitHub Open Issues, PRs and READMEs](github.com/apache/iotdb). |
| |
| If you encounter <Error in verifying browser for feedback submission. Captcha token could not be obtained.> please ensure that you can access Google services." data-user-analytics-fingerprint-enabled="true" data-consent-required="true" data-consent-screen-disclaimer="By clicking <I agree, let's chat>, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."></script><link rel="icon" href="/favicon.ico"><meta name="Description" content="Apache IoTDB: Time Series Database for IoT"><meta name="Keywords" content="TSDB, time series, time series database, IoTDB, IoT database, IoT data management, 时序数据库, 时间序列管理, IoTDB, 物联网数据库, 实时数据库, 物联网数据管理, 物联网数据"><meta name="baidu-site-verification" content="wfKETzB3OT"><meta name="google-site-verification" content="mZWAoRY0yj_HAr-s47zHCGHzx5Ju-RVm5wDbPnwQYFo"><script type="text/javascript">var _paq = window._paq = window._paq || []; |
| /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ |
| _paq.push(["setDoNotTrack", true]); |
| _paq.push(["disableCookies"]); |
| _paq.push(['trackPageView']); |
| _paq.push(['enableLinkTracking']); |
| (function() { |
| var u="https://analytics.apache.org/"; |
| _paq.push(['setTrackerUrl', u+'matomo.php']); |
| _paq.push(['setSiteId', '56']); |
| var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; |
| g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); |
| })(); |
| </script><title>Basic Functions | IoTDB Website</title><meta name="description" content="Basic Functions 1. Comparison Functions and Operators 1.1 Basic Comparison Operators Comparison operators are used to compare two values and return the comparison result (true o..."> |
| <link rel="preload" href="/assets/style-JraSdRX4.css" as="style"><link rel="stylesheet" href="/assets/style-JraSdRX4.css"> |
| <link rel="modulepreload" href="/assets/app-C4FS647M.js"><link rel="modulepreload" href="/assets/Basis-Function_apache.html-qCfC0qJg.js"> |
| |
| </head> |
| <body> |
| <div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="vp-skip-link sr-only">Skip to main content</a><!--]--><!--[--><div class="theme-container external-link-icon has-toc" vp-container><!--[--><header id="navbar" class="vp-navbar" vp-navbar><div class="vp-navbar-start"><button type="button" class="vp-toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><a class="route-link vp-brand" href="/" aria-label="Take me home"><img class="vp-nav-logo" src="/logo.png" alt><!----><!----></a><!--]--></div><div class="vp-navbar-center"><!--[--><!--]--></div><div class="vp-navbar-end"><!--[--><!--[--><div id="docsearch-container" style="display:none;"></div><div class="docsearch-placeholder"><button type="button" aria-label="Search" aria-keyshortcuts="Control+k" class="DocSearch DocSearch-Button"><span class="DocSearch-Button-Container"><svg width="20" height="20" viewBox="0 0 24 24" aria-hidden="true" class="DocSearch-Search-Icon"><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"><kbd class="DocSearch-Button-Key DocSearch-Button-Key--ctrl">Ctrl</kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--><div><button id="custom-ask-ai-button"> ✨ Ask AI </button></div><nav class="vp-nav-links"><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="Documentation"><!--[--><!---->Documentation<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/latest/QuickStart/QuickStart_apache.html" aria-label="v2.0.x"><!---->v2.0.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/V1.3.x/QuickStart/QuickStart_apache.html" aria-label="v1.3.x"><!---->v1.3.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/V1.2.x/QuickStart/QuickStart.html" aria-label="v1.2.x"><!---->v1.2.x<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/UserGuide/V0.13.x/QuickStart/QuickStart.html" aria-label="v0.13.x"><!---->v0.13.x<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><a class="auto-link external-link" href="https://cwiki.apache.org/confluence/display/IOTDB/System+Design" aria-label="Design" rel="noopener noreferrer" target="_blank"><!---->Design<!----></a></div><div class="vp-nav-item hide-in-mobile"><a class="route-link auto-link" href="/Download/" aria-label="Download"><!---->Download<!----></a></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="Community"><!--[--><!---->Community<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/About-the-Community.html" aria-label="About the Community"><!---->About the Community<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/Development-Guide.html" aria-label="Development Guide"><!---->Development Guide<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/Community-Partners.html" aria-label="Community Partners"><!---->Community Partners<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/Communication-Channels.html" aria-label="Communication Channels"><!---->Communication Channels<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/Events-and-Reports.html" aria-label="Events and Reports"><!---->Events and Reports<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/Community/Committers.html" aria-label="Committers"><!---->Committers<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="ASF"><!--[--><!---->ASF<!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/" aria-label="Foundation" rel="noopener noreferrer" target="_blank"><!---->Foundation<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/licenses/" aria-label="License" rel="noopener noreferrer" target="_blank"><!---->License<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/security/" aria-label="Security" rel="noopener noreferrer" target="_blank"><!---->Security<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/sponsorship.html" aria-label="Sponsorship" rel="noopener noreferrer" target="_blank"><!---->Sponsorship<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/foundation/thanks.html" aria-label="Thanks" rel="noopener noreferrer" target="_blank"><!---->Thanks<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://www.apache.org/events/current-event" aria-label="Current Events" rel="noopener noreferrer" target="_blank"><!---->Current Events<!----></a></li><li class="vp-dropdown-item"><a class="auto-link external-link" href="https://privacy.apache.org/policies/privacy-policy-public.html" aria-label="Privacy" rel="noopener noreferrer" target="_blank"><!---->Privacy<!----></a></li></ul></button></div></div></nav><div class="vp-nav-item"><div class="vp-dropdown-wrapper"><button type="button" class="vp-dropdown-title" aria-label="Select language"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon i18n-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="i18n icon" name="i18n" style="width:1rem;height:1rem;vertical-align:middle;"><path d="M379.392 460.8 494.08 575.488l-42.496 102.4L307.2 532.48 138.24 701.44l-71.68-72.704L234.496 460.8l-45.056-45.056c-27.136-27.136-51.2-66.56-66.56-108.544h112.64c7.68 14.336 16.896 27.136 26.112 35.84l45.568 46.08 45.056-45.056C382.976 312.32 409.6 247.808 409.6 204.8H0V102.4h256V0h102.4v102.4h256v102.4H512c0 70.144-37.888 161.28-87.04 210.944L378.88 460.8zM576 870.4 512 1024H409.6l256-614.4H768l256 614.4H921.6l-64-153.6H576zM618.496 768h196.608L716.8 532.48 618.496 768z"></path></svg><!--]--><span class="arrow"></span><ul class="vp-dropdown"><li class="vp-dropdown-item"><a class="route-link route-link-active auto-link" href="/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html" aria-label="English"><!---->English<!----></a></li><li class="vp-dropdown-item"><a class="route-link auto-link" href="/zh/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html" aria-label="简体中文"><!---->简体中文<!----></a></li></ul></button></div></div><div class="vp-nav-item hide-in-mobile"><button type="button" class="vp-color-mode-switch" id="color-mode-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" name="auto" style="display:none;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" name="dark" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" name="light" style="display:block;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><div class="vp-nav-item vp-action"><a class="vp-action-link" href="https://github.com/apache/iotdb" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" name="github" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><!--]--><button type="button" class="vp-toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span><span class="vp-top"></span><span class="vp-middle"></span><span class="vp-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside id="sidebar" class="vp-sidebar" vp-sidebar><!--[--><p class="vp-sidebar-header iotdb-sidebar-header"><span class="vp-sidebar-title">IoTDB User Guide (V2.0.x)</span></p><div class="sidebar-top-wrapper"><ul class="switch-list"><li class="switch-type">Tree</li><li class="switch-type switch-active">Table</li></ul><div class="help-icon-wrapper"><div class="help-icon"><span>Description</span></div></div></div><!--]--><ul class="vp-sidebar-links"><li><section class="vp-sidebar-group"><p class="vp-sidebar-header"><!----><span class="vp-sidebar-title">IoTDB User Guide (V2.0.x)</span><!----></p><ul class="vp-sidebar-links"></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">About IoTDB</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Background knowledge</span><span class="vp-arrow end"></span></button><!----></section></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/QuickStart/QuickStart_apache.html" aria-label="Quick Start"><!---->Quick Start<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Installation and Deployment</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Basic Functions</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Advanced Features</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">AI capability</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Tools System</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">API</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Ecosystem Integration</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">SQL Manual</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/QuickStart-Only-Sql_apache.html" aria-label="QuickStart Only SQL"><!---->QuickStart Only SQL<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/SQL-Metadata-Operations_apache.html" aria-label="Metadata Operations"><!---->Metadata Operations<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/SQL-Data-Addition-Deletion_apache.html" aria-label="Data Addition&Deletion"><!---->Data Addition&Deletion<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Data Query</span><span class="vp-arrow end"></span></button><!----></section></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/SQL-Maintenance-Statements_apache.html" aria-label="Maintenance Statements"><!---->Maintenance Statements<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/Identifier.html" aria-label="Identifier"><!---->Identifier<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/Keywords.html" aria-label="Keywords"><!---->Keywords<!----></a></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable active" type="button"><!----><span class="vp-sidebar-title">Functions and Operators</span><span class="vp-arrow down"></span></button><ul class="vp-sidebar-links"><li><a class="route-link route-link-active auto-link vp-sidebar-link active" href="/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html" aria-label="Basis Functions"><!---->Basis Functions<!----></a></li><li><a class="route-link auto-link vp-sidebar-link" href="/UserGuide/latest-Table/SQL-Manual/Featured-Functions_apache.html" aria-label="Featured Functions"><!---->Featured Functions<!----></a></li></ul></section></li></ul></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Technical Insider</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">Reference</span><span class="vp-arrow end"></span></button><!----></section></li><li><section class="vp-sidebar-group"><button class="vp-sidebar-header clickable" type="button"><!----><span class="vp-sidebar-title">FAQ</span><span class="vp-arrow end"></span></button><!----></section></li></ul><!----></aside><!--[--><main id="main-content" class="vp-page"><!--[--><!----><!----><nav class="vp-breadcrumb disable"></nav><div class="vp-page-title"><h1><!---->Basic Functions</h1><div class="page-info"><!----><!----><span class="page-date-info" aria-label="Writing Date📅" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon calendar-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="calendar icon" name="calendar"><path d="M716.4 110.137c0-18.753-14.72-33.473-33.472-33.473-18.753 0-33.473 14.72-33.473 33.473v33.473h66.993v-33.473zm-334.87 0c0-18.753-14.72-33.473-33.473-33.473s-33.52 14.72-33.52 33.473v33.473h66.993v-33.473zm468.81 33.52H716.4v100.465c0 18.753-14.72 33.473-33.472 33.473a33.145 33.145 0 01-33.473-33.473V143.657H381.53v100.465c0 18.753-14.72 33.473-33.473 33.473a33.145 33.145 0 01-33.473-33.473V143.657H180.6A134.314 134.314 0 0046.66 277.595v535.756A134.314 134.314 0 00180.6 947.289h669.74a134.36 134.36 0 00133.94-133.938V277.595a134.314 134.314 0 00-133.94-133.938zm33.473 267.877H147.126a33.145 33.145 0 01-33.473-33.473c0-18.752 14.72-33.473 33.473-33.473h736.687c18.752 0 33.472 14.72 33.472 33.473a33.145 33.145 0 01-33.472 33.473z"></path></svg><span data-allow-mismatch="text">2/19/25</span><meta property="datePublished" content="2025-02-19T11:44:52.000Z"></span><!----><span class="page-reading-time-info" aria-label="Reading Time⌛" data-balloon-pos="up"><svg xmlns="http://www.w3.org/2000/svg" class="icon timer-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="timer icon" name="timer"><path d="M799.387 122.15c4.402-2.978 7.38-7.897 7.38-13.463v-1.165c0-8.933-7.38-16.312-16.312-16.312H256.33c-8.933 0-16.311 7.38-16.311 16.312v1.165c0 5.825 2.977 10.874 7.637 13.592 4.143 194.44 97.22 354.963 220.201 392.763-122.204 37.542-214.893 196.511-220.2 389.397-4.661 5.049-7.638 11.651-7.638 19.03v5.825h566.49v-5.825c0-7.379-2.849-13.981-7.509-18.9-5.049-193.016-97.867-351.985-220.2-389.527 123.24-37.67 216.446-198.453 220.588-392.892zM531.16 450.445v352.632c117.674 1.553 211.787 40.778 211.787 88.676H304.097c0-48.286 95.149-87.382 213.728-88.676V450.445c-93.077-3.107-167.901-81.297-167.901-177.093 0-8.803 6.99-15.793 15.793-15.793 8.803 0 15.794 6.99 15.794 15.793 0 80.261 63.69 145.635 142.01 145.635s142.011-65.374 142.011-145.635c0-8.803 6.99-15.793 15.794-15.793s15.793 6.99 15.793 15.793c0 95.019-73.789 172.82-165.96 177.093z"></path></svg><span>About 37 min</span><meta property="timeRequired" content="PT37M"></span><!----><!----></div><hr></div><!----><div class="" vp-content><!----><div id="markdown-content"><h1 id="basic-functions" tabindex="-1"><a class="header-anchor" href="#basic-functions"><span>Basic Functions</span></a></h1><h2 id="_1-comparison-functions-and-operators" tabindex="-1"><a class="header-anchor" href="#_1-comparison-functions-and-operators"><span>1. Comparison Functions and Operators</span></a></h2><h3 id="_1-1-basic-comparison-operators" tabindex="-1"><a class="header-anchor" href="#_1-1-basic-comparison-operators"><span>1.1 Basic Comparison Operators</span></a></h3><p>Comparison operators are used to compare two values and return the comparison result (<code>true</code> or <code>false</code>).</p><table><thead><tr><th style="text-align:left;">Operators</th><th style="text-align:left;">Description</th></tr></thead><tbody><tr><td style="text-align:left;"><</td><td style="text-align:left;">Less than</td></tr><tr><td style="text-align:left;">></td><td style="text-align:left;">Greater than</td></tr><tr><td style="text-align:left;"><=</td><td style="text-align:left;">Less than or equal to</td></tr><tr><td style="text-align:left;">>=</td><td style="text-align:left;">Greater than or equal to</td></tr><tr><td style="text-align:left;">=</td><td style="text-align:left;">Equal to</td></tr><tr><td style="text-align:left;"><></td><td style="text-align:left;">Not equal to</td></tr><tr><td style="text-align:left;">!=</td><td style="text-align:left;">Not equal to</td></tr></tbody></table><h4 id="_1-1-1-comparison-rules" tabindex="-1"><a class="header-anchor" href="#_1-1-1-comparison-rules"><span>1.1.1 Comparison rules:</span></a></h4><ol><li>All types can be compared with themselves.</li><li>Numeric types (INT32, INT64, FLOAT, DOUBLE, TIMESTAMP) can be compared with each other.</li><li>Character types (STRING, TEXT) can also be compared with each other.</li><li>Comparisons between types other than those mentioned above will result in an error.</li></ol><h3 id="_1-2-between-operator" tabindex="-1"><a class="header-anchor" href="#_1-2-between-operator"><span>1.2 BETWEEN Operator</span></a></h3><ol><li>The <code>BETWEEN </code>operator is used to determine whether a value falls within a specified range.</li><li>The <code>NOT BETWEEN</code> operator is used to determine whether a value does not fall within a specified range.</li><li>The <code>BETWEEN</code> and <code>NOT BETWEEN</code> operators can be used to evaluate any sortable type.</li><li>The value, minimum, and maximum parameters for <code>BETWEEN</code> and <code>NOT BETWEEN</code> must be of the same type, otherwise an error will occur.</li></ol><p>Syntax:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;"> value</span><span style="color:#C678DD;"> BETWEEN</span><span style="color:#ABB2BF;"> min </span><span style="color:#C678DD;">AND</span><span style="color:#ABB2BF;"> max:</span></span> |
| <span class="line"><span style="color:#C678DD;"> value</span><span style="color:#C678DD;"> NOT</span><span style="color:#C678DD;"> BETWEEN</span><span style="color:#ABB2BF;"> min </span><span style="color:#C678DD;">AND</span><span style="color:#ABB2BF;"> max:</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Example 1 :BETWEEN</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#7F848E;font-style:italic;">-- Query records where temperature is between 85.0 and 90.0</span></span> |
| <span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> temperature </span><span style="color:#C678DD;">BETWEEN</span><span style="color:#D19A66;"> 85</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#C678DD;"> AND</span><span style="color:#D19A66;"> 90</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>Example 2 : NOT BETWEEN</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>-- Query records where humidity is not between 35.0 and 40.0</span></span> |
| <span class="line"><span>SELECT * FROM table1 WHERE humidity NOT BETWEEN 35.0 AND 40.0;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_1-3-is-null-operator" tabindex="-1"><a class="header-anchor" href="#_1-3-is-null-operator"><span>1.3 IS NULL Operator</span></a></h3><ol><li>These operators apply to all data types.</li></ol><p>Example 1: Query records where temperature is NULL</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> temperature </span><span style="color:#C678DD;">IS</span><span style="color:#C678DD;"> NULL</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Example 2: Query records where humidity is not NULL</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> humidity </span><span style="color:#C678DD;">IS NOT NULL</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="_1-4-in-operator" tabindex="-1"><a class="header-anchor" href="#_1-4-in-operator"><span>1.4 IN Operator</span></a></h3><ol><li>The <code>IN</code> operator can be used in the <code>WHERE </code>clause to compare a column with a list of values.</li><li>These values can be provided by a static array or scalar expressions.</li></ol><p>Syntax:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">... </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> column </span><span style="color:#E06C75;">[NOT]</span><span style="color:#C678DD;"> IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">'value1'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'value2'</span><span style="color:#ABB2BF;">, expression1)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Example 1: Static array: Query records where region is 'Beijing' or 'Shanghai'</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> region </span><span style="color:#C678DD;">IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">'Beijing'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'Shanghai'</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">--Equivalent to</span></span> |
| <span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> region </span><span style="color:#C678DD;">WHERE</span><span style="color:#C678DD;"> name</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> 'Beijing'</span><span style="color:#C678DD;"> OR</span><span style="color:#C678DD;"> name</span><span style="color:#56B6C2;"> =</span><span style="color:#98C379;"> 'Shanghai'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Example 2: Scalar expression: Query records where temperature is among specific values</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> temperature </span><span style="color:#C678DD;">IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#D19A66;">85</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">90</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>Example 3: Query records where region is not 'Beijing' or 'Shanghai'</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> region </span><span style="color:#C678DD;">NOT</span><span style="color:#C678DD;"> IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#98C379;">'Beijing'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'Shanghai'</span><span style="color:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="_1-5-greatest-and-least" tabindex="-1"><a class="header-anchor" href="#_1-5-greatest-and-least"><span>1.5 GREATEST and LEAST</span></a></h3><p>The <code>GREATEST</code> function returns the maximum value from a list of arguments, while the <code>LEAST</code> function returns the minimum value. The return type matches the input data type.</p><p>Key Behaviors:</p><ol><li>NULL Handling: Returns NULL if all arguments are NULL.</li><li>Parameter Requirements: Requires at least 2 arguments.</li><li>Type Constraints: All arguments must have the same data type.</li><li>Supported Types: <code>BOOLEAN</code>、<code>FLOAT</code>、<code>DOUBLE</code>、<code>INT32</code>、<code>INT64</code>、<code>STRING</code>、<code>TEXT</code>、<code>TIMESTAMP</code>、<code>DATE</code></li></ol><p><strong>Syntax:</strong></p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#56B6C2;"> greatest</span><span style="color:#ABB2BF;">(value1, value2, ..., valueN)</span></span> |
| <span class="line"><span style="color:#56B6C2;"> least</span><span style="color:#ABB2BF;">(value1, value2, ..., valueN)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p><strong>Examples:</strong></p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#7F848E;font-style:italic;">-- Retrieve the maximum value between `temperature` and `humidity` in `table2` </span></span> |
| <span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#56B6C2;"> GREATEST</span><span style="color:#ABB2BF;">(temperature,humidity) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table2;</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Retrieve the minimum value between `temperature` and `humidity` in `table2` </span></span> |
| <span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#56B6C2;"> LEAST</span><span style="color:#ABB2BF;">(temperature,humidity) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table2;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_2-aggregate-functions" tabindex="-1"><a class="header-anchor" href="#_2-aggregate-functions"><span>2. Aggregate functions</span></a></h2><h3 id="_2-1-overview" tabindex="-1"><a class="header-anchor" href="#_2-1-overview"><span>2.1 Overview</span></a></h3><ol><li><p>Aggregate functions are many-to-one functions. They perform aggregate calculations on a set of values to obtain a single aggregate result.</p></li><li><p>Except for <code>COUNT()</code>, all other aggregate functions ignore null values and return null when there are no input rows or all values are null. For example, <code>SUM()</code> returns null instead of zero, and <code>AVG()</code> does not include null values in the count.</p></li></ol><h3 id="_2-2-supported-aggregate-functions" tabindex="-1"><a class="header-anchor" href="#_2-2-supported-aggregate-functions"><span>2.2 Supported Aggregate Functions</span></a></h3><table><thead><tr><th style="text-align:left;">Function Name</th><th style="text-align:left;">Description</th><th style="text-align:left;">Allowed Input Types</th><th style="text-align:left;">Output Type</th></tr></thead><tbody><tr><td style="text-align:left;">COUNT</td><td style="text-align:left;">Counts the number of data points.</td><td style="text-align:left;">All types</td><td style="text-align:left;">INT64</td></tr><tr><td style="text-align:left;">COUNT_IF</td><td style="text-align:left;">COUNT_IF(exp) counts the number of rows that satisfy a specified boolean expression.</td><td style="text-align:left;"><code>exp</code> must be a boolean expression,(e.g. <code>count_if(temperature>20)</code>)</td><td style="text-align:left;">INT64</td></tr><tr><td style="text-align:left;">APPROX_COUNT_DISTINCT</td><td style="text-align:left;">The APPROX_COUNT_DISTINCT(x[, maxStandardError]) function provides an approximation of COUNT(DISTINCT x), returning the estimated number of distinct input values.</td><td style="text-align:left;"><code>x</code>: The target column to be calculated, supports all data types.<br><code>maxStandardError</code> (optional): Specifies the maximum standard error allowed for the function's result. Valid range is [0.0040625, 0.26]. Defaults to 0.023 if not specified.</td><td style="text-align:left;">INT64</td></tr><tr><td style="text-align:left;">APPROX_MOST_FREQUENT</td><td style="text-align:left;">The APPROX_MOST_FREQUENT(x, k, capacity) function is used to approximately calculate the top k most frequent elements in a dataset. It returns a JSON-formatted string where the keys are the element values and the values are their corresponding approximate frequencies. (Available since V2.0.5.1)</td><td style="text-align:left;"><code>x</code> : The column to be calculated, supporting all existing data types in IoTDB;<br> <code>k</code>: The number of top-k most frequent values to return;<br><code>capacity</code>: The number of buckets used for computation, which relates to memory usage—a larger value reduces error but consumes more memory, while a smaller value increases error but uses less memory.</td><td style="text-align:left;">STRING</td></tr><tr><td style="text-align:left;">SUM</td><td style="text-align:left;">Calculates the sum.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">AVG</td><td style="text-align:left;">Calculates the average.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">MAX</td><td style="text-align:left;">Finds the maximum value.</td><td style="text-align:left;">All types</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">MIN</td><td style="text-align:left;">Finds the minimum value.</td><td style="text-align:left;">All types</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">FIRST</td><td style="text-align:left;">Finds the value with the smallest timestamp that is not NULL.</td><td style="text-align:left;">All types</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">LAST</td><td style="text-align:left;">Finds the value with the largest timestamp that is not NULL.</td><td style="text-align:left;">All types</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">STDDEV</td><td style="text-align:left;">Alias for STDDEV_SAMP, calculates the sample standard deviation.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">STDDEV_POP</td><td style="text-align:left;">Calculates the population standard deviation.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">STDDEV_SAMP</td><td style="text-align:left;">Calculates the sample standard deviation.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">VARIANCE</td><td style="text-align:left;">Alias for VAR_SAMP, calculates the sample variance.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">VAR_POP</td><td style="text-align:left;">Calculates the population variance.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">VAR_SAMP</td><td style="text-align:left;">Calculates the sample variance.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">DOUBLE</td></tr><tr><td style="text-align:left;">EXTREME</td><td style="text-align:left;">Finds the value with the largest absolute value. If the largest absolute values of positive and negative values are equal, returns the positive value.</td><td style="text-align:left;">INT32 INT64 FLOAT DOUBLE</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">MODE</td><td style="text-align:left;">Finds the mode. Note: 1. There is a risk of memory exception when the number of distinct values in the input sequence is too large; 2. If all elements have the same frequency, i.e., there is no mode, a random element is returned; 3. If there are multiple modes, a random mode is returned; 4. NULL values are also counted in frequency, so even if not all values in the input sequence are NULL, the final result may still be NULL.</td><td style="text-align:left;">All types</td><td style="text-align:left;">Same as input type</td></tr><tr><td style="text-align:left;">MAX_BY</td><td style="text-align:left;">MAX_BY(x, y) finds the value of x corresponding to the maximum y in the binary input x and y. MAX_BY(time, x) returns the timestamp when x is at its maximum.</td><td style="text-align:left;">x and y can be of any type</td><td style="text-align:left;">Same as the data type of the first input x</td></tr><tr><td style="text-align:left;">MIN_BY</td><td style="text-align:left;">MIN_BY(x, y) finds the value of x corresponding to the minimum y in the binary input x and y. MIN_BY(time, x) returns the timestamp when x is at its minimum.</td><td style="text-align:left;">x and y can be of any type</td><td style="text-align:left;">Same as the data type of the first input x</td></tr><tr><td style="text-align:left;">FIRST_BY</td><td style="text-align:left;">FIRST_BY(x, y) finds the value of x in the same row when y is the first non-null value.</td><td style="text-align:left;">x and y can be of any type</td><td style="text-align:left;">Same as the data type of the first input x</td></tr><tr><td style="text-align:left;">LAST_BY</td><td style="text-align:left;">LAST_BY(x, y) finds the value of x in the same row when y is the last non-null value.</td><td style="text-align:left;">x and y can be of any type</td><td style="text-align:left;">Same as the data type of the first input x</td></tr></tbody></table><h3 id="_2-3-examples" tabindex="-1"><a class="header-anchor" href="#_2-3-examples"><span>2.3 Examples</span></a></h3><h4 id="_2-3-1-example-data" tabindex="-1"><a class="header-anchor" href="#_2-3-1-example-data"><span>2.3.1 Example Data</span></a></h4><p>The <a class="route-link" href="/UserGuide/latest-Table/Reference/Sample-Data.html">Example Data page</a> contains SQL statements for building table structures and inserting data. Download and execute these statements in the IoTDB CLI to import the data into IoTDB. You can use this data to test and execute the SQL statements in the examples and obtain the corresponding results.</p><h4 id="_2-3-2-count" tabindex="-1"><a class="header-anchor" href="#_2-3-2-count"><span>2.3.2 Count</span></a></h4><p>Counts the number of rows in the entire table and the number of non-null values in the <code>temperature</code> column.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#56B6C2;"> count</span><span style="color:#ABB2BF;">(*), </span><span style="color:#56B6C2;">count</span><span style="color:#ABB2BF;">(temperature) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><blockquote><p>Note: Only the COUNT function can be used with *, otherwise an error will occur.</p></blockquote><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">18</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">12</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.834s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-3-count-if" tabindex="-1"><a class="header-anchor" href="#_2-3-3-count-if"><span>2.3.3 Count_if</span></a></h4><p>Count <code>Non-Null</code> <code>arrival_time</code> Records in <code>table2</code></p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> count_if(arrival_time </span><span style="color:#C678DD;">is not null</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table2;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">4</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.047s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-4-approx-count-distinct" tabindex="-1"><a class="header-anchor" href="#_2-3-4-approx-count-distinct"><span>2.3.4 Approx_count_distinct</span></a></h4><p>Retrieve the number of distinct values in the <code>temperature</code> column from <code>table1</code>.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> COUNT</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">DISTINCT</span><span style="color:#ABB2BF;"> temperature) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> origin, </span><span style="color:#56B6C2;">APPROX_COUNT_DISTINCT</span><span style="color:#ABB2BF;">(temperature) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> approx </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> COUNT</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">DISTINCT</span><span style="color:#ABB2BF;"> temperature) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> origin, </span><span style="color:#56B6C2;">APPROX_COUNT_DISTINCT</span><span style="color:#ABB2BF;">(temperature,</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">006</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> approx </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------+------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|origin|approx|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------+------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">3</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------+------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.022s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-5-approx-most-frequent" tabindex="-1"><a class="header-anchor" href="#_2-3-5-approx-most-frequent"><span>2.3.5 Approx_most_frequent</span></a></h4><p>Query the top 2 most frequent values in the <code>temperature</code> column of <code>table1</code>.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> approx_most_frequent(temperature,</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> topk </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| topk|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|{</span><span style="color:#98C379;">"85.0"</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">6</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">"90.0"</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">5</span><span style="color:#ABB2BF;">}|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.064s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-6-first" tabindex="-1"><a class="header-anchor" href="#_2-3-6-first"><span>2.3.6 First</span></a></h4><p>Finds the values with the smallest timestamp that are not NULL in the <code>temperature</code> and <code>humidity</code> columns.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#C678DD;"> first</span><span style="color:#ABB2BF;">(temperature), </span><span style="color:#C678DD;">first</span><span style="color:#ABB2BF;">(humidity) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">90</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.170s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-7-last" tabindex="-1"><a class="header-anchor" href="#_2-3-7-last"><span>2.3.7 Last</span></a></h4><p>Finds the values with the largest timestamp that are not NULL in the <code>temperature</code> and <code>humidity</code> columns.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#C678DD;"> last</span><span style="color:#ABB2BF;">(temperature), </span><span style="color:#C678DD;">last</span><span style="color:#ABB2BF;">(humidity) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">90</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">34</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">8</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.211s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-8-first-by" tabindex="-1"><a class="header-anchor" href="#_2-3-8-first-by"><span>2.3.8 First_by</span></a></h4><p>Finds the <code>time</code> value of the row with the smallest timestamp that is not NULL in the <code>temperature</code> column, and the <code>humidity</code> value of the row with the smallest timestamp that is not NULL in the <code>temperature</code> column.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> first_by(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, temperature), first_by(humidity, temperature) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-26T13:</span><span style="color:#D19A66;">37</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.269s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-9-last-by" tabindex="-1"><a class="header-anchor" href="#_2-3-9-last-by"><span>2.3.9 Last_by</span></a></h4><p>Queries the <code>time</code> value of the row with the largest timestamp that is not NULL in the <code>temperature</code> column, and the <code>humidity</code> value of the row with the largest timestamp that is not NULL in the <code>temperature</code> column.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> last_by(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, temperature), last_by(humidity, temperature) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-30T14:</span><span style="color:#D19A66;">30</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">34</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">8</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.070s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-10-max-by" tabindex="-1"><a class="header-anchor" href="#_2-3-10-max-by"><span>2.3.10 Max_by</span></a></h4><p>Queries the <code>time</code> value of the row where the <code>temperature</code> column is at its maximum, and the <code>humidity</code> value of the row where the <code>temperature</code> column is at its maximum.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#ABB2BF;"> max_by(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, temperature), max_by(humidity, temperature) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-30T09:</span><span style="color:#D19A66;">30</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">2</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.172s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_2-3-11-min-by" tabindex="-1"><a class="header-anchor" href="#_2-3-11-min-by"><span>2.3.11 Min_by</span></a></h4><p>Queries the <code>time</code> value of the row where the <code>temperature</code> column is at its minimum, and the <code>humidity</code> value of the row where the <code>temperature</code> column is at its minimum.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">select</span><span style="color:#ABB2BF;"> min_by(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, temperature), min_by(humidity, temperature) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p>The execution result is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|_col1|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-29T10:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">null</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.244s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_3-logical-operators" tabindex="-1"><a class="header-anchor" href="#_3-logical-operators"><span>3. Logical operators</span></a></h2><h3 id="_3-1-overview" tabindex="-1"><a class="header-anchor" href="#_3-1-overview"><span>3.1 Overview</span></a></h3><p>Logical operators are used to combine conditions or negate conditions, returning a Boolean result (<code>true</code> or <code>false</code>).</p><p>Below are the commonly used logical operators along with their descriptions:</p><table><thead><tr><th style="text-align:left;">Operator</th><th style="text-align:left;">Description</th><th style="text-align:left;">Example</th></tr></thead><tbody><tr><td style="text-align:left;">AND</td><td style="text-align:left;">True only if both values are true</td><td style="text-align:left;">a AND b</td></tr><tr><td style="text-align:left;">OR</td><td style="text-align:left;">True if either value is true</td><td style="text-align:left;">a OR b</td></tr><tr><td style="text-align:left;">NOT</td><td style="text-align:left;">True when the value is false</td><td style="text-align:left;">NOT a</td></tr></tbody></table><h3 id="_3-2-impact-of-null-on-logical-operators" tabindex="-1"><a class="header-anchor" href="#_3-2-impact-of-null-on-logical-operators"><span>3.2 Impact of NULL on Logical Operators</span></a></h3><h4 id="_3-2-1-and-operator" tabindex="-1"><a class="header-anchor" href="#_3-2-1-and-operator"><span>3.2.1 AND Operator</span></a></h4><ul><li>If one or both sides of the expression are <code>NULL</code>, the result may be <code>NULL</code>.</li><li>If one side of the <code>AND</code> operator is <code>FALSE</code>, the expression result is <code>FALSE</code>.</li></ul><p>Examples:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> AND</span><span style="color:#ABB2BF;"> true </span><span style="color:#7F848E;font-style:italic;">-- null</span></span> |
| <span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> AND</span><span style="color:#ABB2BF;"> false </span><span style="color:#7F848E;font-style:italic;">-- false</span></span> |
| <span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> AND</span><span style="color:#C678DD;"> NULL</span><span style="color:#7F848E;font-style:italic;"> -- null</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_3-2-2-or-operator" tabindex="-1"><a class="header-anchor" href="#_3-2-2-or-operator"><span>3.2.2 OR Operator</span></a></h4><ul><li>If one or both sides of the expression are <code>NULL</code>, the result may be <code>NULL</code>.</li><li>If one side of the <code>OR</code> operator is <code>TRUE</code>, the expression result is <code>TRUE</code>.</li></ul><p>Examples:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> OR</span><span style="color:#C678DD;"> NULL</span><span style="color:#7F848E;font-style:italic;"> -- null</span></span> |
| <span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> OR</span><span style="color:#ABB2BF;"> false </span><span style="color:#7F848E;font-style:italic;">-- null</span></span> |
| <span class="line"><span style="color:#C678DD;">NULL</span><span style="color:#C678DD;"> OR</span><span style="color:#ABB2BF;"> true </span><span style="color:#7F848E;font-style:italic;">-- true</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h5 id="_3-2-2-1-truth-table" tabindex="-1"><a class="header-anchor" href="#_3-2-2-1-truth-table"><span>3.2.2.1 Truth Table</span></a></h5><p>The following truth table illustrates how <code>NULL</code> is handled in <code>AND</code> and <code>OR</code> operators:</p><table><thead><tr><th style="text-align:left;">a</th><th style="text-align:left;">b</th><th style="text-align:left;">a AND b</th><th style="text-align:left;">a OR b</th></tr></thead><tbody><tr><td style="text-align:left;">TRUE</td><td style="text-align:left;">TRUE</td><td style="text-align:left;">TRUE</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">TRUE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">TRUE</td><td style="text-align:left;">NULL</td><td style="text-align:left;">NULL</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">FALSE</td><td style="text-align:left;">TRUE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">FALSE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">FALSE</td></tr><tr><td style="text-align:left;">FALSE</td><td style="text-align:left;">NULL</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">NULL</td></tr><tr><td style="text-align:left;">NULL</td><td style="text-align:left;">TRUE</td><td style="text-align:left;">NULL</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">NULL</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">FALSE</td><td style="text-align:left;">NULL</td></tr><tr><td style="text-align:left;">NULL</td><td style="text-align:left;">NULL</td><td style="text-align:left;">NULL</td><td style="text-align:left;">NULL</td></tr></tbody></table><h4 id="_3-2-3-not-operator" tabindex="-1"><a class="header-anchor" href="#_3-2-3-not-operator"><span>3.2.3 NOT Operator</span></a></h4><p>The logical negation of <code>NULL</code> remains <code>NULL</code>.</p><p>Example:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">NOT NULL</span><span style="color:#7F848E;font-style:italic;"> -- null</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h5 id="_3-2-3-1-truth-table" tabindex="-1"><a class="header-anchor" href="#_3-2-3-1-truth-table"><span>3.2.3.1 Truth Table</span></a></h5><p>The following truth table illustrates how <code>NULL</code> is handled in the <code>NOT</code> operator:</p><table><thead><tr><th style="text-align:left;">a</th><th style="text-align:left;">NOT a</th></tr></thead><tbody><tr><td style="text-align:left;">TRUE</td><td style="text-align:left;">FALSE</td></tr><tr><td style="text-align:left;">FALSE</td><td style="text-align:left;">TRUE</td></tr><tr><td style="text-align:left;">NULL</td><td style="text-align:left;">NULL</td></tr></tbody></table><h2 id="_4-date-and-time-functions-and-operators" tabindex="-1"><a class="header-anchor" href="#_4-date-and-time-functions-and-operators"><span>4. Date and Time Functions and Operators</span></a></h2><h3 id="_4-1-now-timestamp" tabindex="-1"><a class="header-anchor" href="#_4-1-now-timestamp"><span>4.1 now() -> Timestamp</span></a></h3><p>Returns the current timestamp.</p><h3 id="_4-2-date-bin-interval-timestamp-timestamp-timestamp" tabindex="-1"><a class="header-anchor" href="#_4-2-date-bin-interval-timestamp-timestamp-timestamp"><span>4.2 date_bin(interval, Timestamp[, Timestamp]) -> Timestamp</span></a></h3><p>The <code>date_bin</code> function is used for handling time data by rounding a timestamp (<code>Timestamp</code>) to the boundary of a specified time interval (<code>interval</code>).</p><h4 id="syntax" tabindex="-1"><a class="header-anchor" href="#syntax"><span><strong>Syntax:</strong></span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#7F848E;font-style:italic;">-- Calculates the time interval starting from timestamp 0 and returns the nearest interval boundary to the specified timestamp.</span></span> |
| <span class="line"><span style="color:#ABB2BF;">date_bin(interval,source)</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Calculates the time interval starting from the origin timestamp and returns the nearest interval boundary to the specified timestamp.</span></span> |
| <span class="line"><span style="color:#ABB2BF;">date_bin(interval,source,origin)</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">--Supported time units for interval:</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">--Years (y), months (mo), weeks (week), days (d), hours (h), minutes (M), seconds (s), milliseconds (ms), microseconds (µs), nanoseconds (ns).</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">--source: Must be of timestamp type.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="parameters" tabindex="-1"><a class="header-anchor" href="#parameters"><span><strong>Parameters</strong>:</span></a></h4><table><thead><tr><th style="text-align:left;">Parameter</th><th style="text-align:left;">Description</th></tr></thead><tbody><tr><td style="text-align:left;">interval</td><td style="text-align:left;">1. Time interval 2. Supported units: <code>y</code>, <code>mo</code>, <code>week</code>, <code>d</code>, <code>h</code>, <code>M</code>, <code>s</code>, <code>ms</code>, <code>µs</code>, <code>ns</code>.</td></tr><tr><td style="text-align:left;">source</td><td style="text-align:left;">1. The timestamp column or expression to be calculated. 2. Must be of timestamp type.</td></tr><tr><td style="text-align:left;">origin</td><td style="text-align:left;">The reference timestamp.</td></tr></tbody></table><h4 id="_4-2-1syntax-rules" tabindex="-1"><a class="header-anchor" href="#_4-2-1syntax-rules"><span>4.2.1Syntax Rules :</span></a></h4><ol><li>If <code>origin</code> is not specified, the default reference timestamp is <code>1970-01-01T00:00:00Z</code> (Beijing time: <code>1970-01-01 08:00:00</code>).</li><li><code>interval</code> must be a non-negative number with a time unit. If <code>interval</code> is <code>0ms</code>, the function returns <code>source</code> directly without calculation.</li><li>If <code>origin</code> or <code>source</code> is negative, it represents a time point before the epoch. <code>date_bin</code> will calculate and return the relevant time period.</li><li>If <code>source</code> is <code>null</code>, the function returns <code>null</code>.</li><li>Mixing months and non-month time units (e.g., <code>1 MONTH 1 DAY</code>) is not supported due to ambiguity.</li></ol><blockquote><p>For example, if the starting point is <strong>April 30, 2000</strong>, calculating <code>1 DAY</code> first and then <code>1 MONTH</code> results in <strong>June 1, 2000</strong>, whereas calculating <code>1 MONTH</code> first and then <code>1 DAY</code> results in <strong>May 31, 2000</strong>. The resulting dates are different.</p></blockquote><h4 id="_4-2-2-examples" tabindex="-1"><a class="header-anchor" href="#_4-2-2-examples"><span>4.2.2 Examples</span></a></h4><h5 id="example-data" tabindex="-1"><a class="header-anchor" href="#example-data"><span>Example Data</span></a></h5><p>The <a class="route-link" href="/UserGuide/latest-Table/Reference/Sample-Data.html">Example Data page</a> contains SQL statements for building table structures and inserting data. Download and execute these statements in the IoTDB CLI to import the data into IoTDB. You can use this data to test and execute the SQL statements in the examples and obtain the corresponding results.</p><h4 id="example-1-without-specifying-the-origin-timestamp" tabindex="-1"><a class="header-anchor" href="#example-1-without-specifying-the-origin-timestamp"><span>Example 1: Without Specifying the Origin Timestamp</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> date_bin(1h,</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> time_bin</span></span> |
| <span class="line"><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Result**😗*</p><div class="language-plain line-numbers-mode" data-highlighter="shiki" data-ext="plain" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-plain"><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| time| time_bin|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>|2024-11-30T09:30:00.000+08:00|2024-11-30T09:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-30T14:30:00.000+08:00|2024-11-30T14:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T10:00:00.000+08:00|2024-11-29T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:38:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:39:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:40:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:41:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:42:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:43:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:44:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T11:00:00.000+08:00|2024-11-29T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T18:30:00.000+08:00|2024-11-29T18:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T08:00:00.000+08:00|2024-11-28T08:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T09:00:00.000+08:00|2024-11-28T09:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T10:00:00.000+08:00|2024-11-28T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T11:00:00.000+08:00|2024-11-28T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:37:00.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:38:00.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>Total line number = 18</span></span> |
| <span class="line"><span>It costs 0.683s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="example-2-specifying-the-origin-timestamp" tabindex="-1"><a class="header-anchor" href="#example-2-specifying-the-origin-timestamp"><span>Example 2: Specifying the Origin Timestamp</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> date_bin(1h, </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-29T18:</span><span style="color:#D19A66;">30</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> time_bin</span></span> |
| <span class="line"><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Result:</p><div class="language-plain line-numbers-mode" data-highlighter="shiki" data-ext="plain" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-plain"><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| time| time_bin|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>|2024-11-30T09:30:00.000+08:00|2024-11-30T09:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-30T14:30:00.000+08:00|2024-11-30T14:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T10:00:00.000+08:00|2024-11-29T09:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:38:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:39:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:40:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:41:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:42:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:43:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:44:00.000+08:00|2024-11-27T16:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T11:00:00.000+08:00|2024-11-29T10:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T18:30:00.000+08:00|2024-11-29T18:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T08:00:00.000+08:00|2024-11-28T07:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T09:00:00.000+08:00|2024-11-28T08:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T10:00:00.000+08:00|2024-11-28T09:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T11:00:00.000+08:00|2024-11-28T10:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:37:00.000+08:00|2024-11-26T13:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:38:00.000+08:00|2024-11-26T13:30:00.000+08:00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>Total line number = 18</span></span> |
| <span class="line"><span>It costs 0.056s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="example-3-negative-origin" tabindex="-1"><a class="header-anchor" href="#example-3-negative-origin"><span>Example 3: Negative Origin</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> date_bin(1h, </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">1969</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">12</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">31</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> time_bin</span></span> |
| <span class="line"><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Result:</p><div class="language-plain line-numbers-mode" data-highlighter="shiki" data-ext="plain" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-plain"><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| time| time_bin|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>|2024-11-30T09:30:00.000+08:00|2024-11-30T09:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-30T14:30:00.000+08:00|2024-11-30T14:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T10:00:00.000+08:00|2024-11-29T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:38:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:39:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:40:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:41:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:42:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:43:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:44:00.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T11:00:00.000+08:00|2024-11-29T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T18:30:00.000+08:00|2024-11-29T18:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T08:00:00.000+08:00|2024-11-28T08:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T09:00:00.000+08:00|2024-11-28T09:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T10:00:00.000+08:00|2024-11-28T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T11:00:00.000+08:00|2024-11-28T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:37:00.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:38:00.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>Total line number = 18</span></span> |
| <span class="line"><span>It costs 0.203s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="example-4-interval-of-0" tabindex="-1"><a class="header-anchor" href="#example-4-interval-of-0"><span>Example 4: Interval of 0</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> date_bin(0ms, </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> time_bin</span></span> |
| <span class="line"><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Result**:**</p><div class="language-plain line-numbers-mode" data-highlighter="shiki" data-ext="plain" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-plain"><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| time| time_bin|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>|2024-11-30T09:30:00.000+08:00|2024-11-30T09:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-30T14:30:00.000+08:00|2024-11-30T14:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T10:00:00.000+08:00|2024-11-29T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:38:00.000+08:00|2024-11-27T16:38:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:39:00.000+08:00|2024-11-27T16:39:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:40:00.000+08:00|2024-11-27T16:40:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:41:00.000+08:00|2024-11-27T16:41:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:42:00.000+08:00|2024-11-27T16:42:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:43:00.000+08:00|2024-11-27T16:43:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:44:00.000+08:00|2024-11-27T16:44:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T11:00:00.000+08:00|2024-11-29T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T18:30:00.000+08:00|2024-11-29T18:30:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T08:00:00.000+08:00|2024-11-28T08:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T09:00:00.000+08:00|2024-11-28T09:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T10:00:00.000+08:00|2024-11-28T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T11:00:00.000+08:00|2024-11-28T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:37:00.000+08:00|2024-11-26T13:37:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:38:00.000+08:00|2024-11-26T13:38:00.000+08:00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>Total line number = 18</span></span> |
| <span class="line"><span>It costs 0.107s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="example-5-source-is-null" tabindex="-1"><a class="header-anchor" href="#example-5-source-is-null"><span>Example 5: Source is NULL</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> arrival_time,</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> date_bin(1h,arrival_time) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> time_bin</span></span> |
| <span class="line"><span style="color:#C678DD;">FROM</span></span> |
| <span class="line"><span style="color:#ABB2BF;"> table1;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Result:</p><div class="language-plain line-numbers-mode" data-highlighter="shiki" data-ext="plain" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-plain"><span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| arrival_time| time_bin|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>|2024-11-30T14:30:17.000+08:00|2024-11-30T14:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-29T10:00:13.000+08:00|2024-11-29T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:37:01.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>|2024-11-27T16:37:03.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-27T16:37:04.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>|2024-11-27T16:37:08.000+08:00|2024-11-27T16:00:00.000+08:00|</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>|2024-11-29T18:30:15.000+08:00|2024-11-29T18:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T08:00:09.000+08:00|2024-11-28T08:00:00.000+08:00|</span></span> |
| <span class="line"><span>| null| null|</span></span> |
| <span class="line"><span>|2024-11-28T10:00:11.000+08:00|2024-11-28T10:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-28T11:00:12.000+08:00|2024-11-28T11:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:37:34.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>|2024-11-26T13:38:25.000+08:00|2024-11-26T13:00:00.000+08:00|</span></span> |
| <span class="line"><span>+-----------------------------+-----------------------------+</span></span> |
| <span class="line"><span>Total line number = 18</span></span> |
| <span class="line"><span>It costs 0.319s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_4-3-extract-function" tabindex="-1"><a class="header-anchor" href="#_4-3-extract-function"><span>4.3 Extract Function</span></a></h3><p>This function is used to extract the value of a specific part of a date. (Supported from version V2.0.6)</p><h4 id="_4-3-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_4-3-1-syntax-definition"><span>4.3.1 Syntax Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">EXTRACT (identifier </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> expression)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li>Parameter Description <ul><li><p><strong>expression</strong>: <code>TIMESTAMP</code> type or a time constant</p></li><li><p><strong>identifier</strong>: The valid ranges and corresponding return value types are shown in the table below.</p><table><thead><tr><th>Valid Range</th><th>Return Type</th><th>Return Range</th></tr></thead><tbody><tr><td><code>YEAR</code></td><td><code>INT64</code></td><td><code>/</code></td></tr><tr><td><code>QUARTER</code></td><td><code>INT64</code></td><td><code>1-4</code></td></tr><tr><td><code>MONTH</code></td><td><code>INT64</code></td><td><code>1-12</code></td></tr><tr><td><code>WEEK</code></td><td><code>INT64</code></td><td><code>1-53</code></td></tr><tr><td><code>DAY_OF_MONTH (DAY)</code></td><td><code>INT64</code></td><td><code>1-31</code></td></tr><tr><td><code>DAY_OF_WEEK (DOW)</code></td><td><code>INT64</code></td><td><code>1-7</code></td></tr><tr><td><code>DAY_OF_YEAR (DOY)</code></td><td><code>INT64</code></td><td><code>1-366</code></td></tr><tr><td><code>HOUR</code></td><td><code>INT64</code></td><td><code>0-23</code></td></tr><tr><td><code>MINUTE</code></td><td><code>INT64</code></td><td><code>0-59</code></td></tr><tr><td><code>SECOND</code></td><td><code>INT64</code></td><td><code>0-59</code></td></tr><tr><td><code>MS</code></td><td><code>INT64</code></td><td><code>0-999</code></td></tr><tr><td><code>US</code></td><td><code>INT64</code></td><td><code>0-999</code></td></tr><tr><td><code>NS</code></td><td><code>INT64</code></td><td><code>0-999</code></td></tr></tbody></table></li></ul></li></ul><h4 id="_4-3-2-usage-example" tabindex="-1"><a class="header-anchor" href="#_4-3-2-usage-example"><span>4.3.2 Usage Example</span></a></h4><p>Using table1 from the <a class="route-link" href="/UserGuide/latest-Table/Reference/Sample-Data.html">Sample Data</a> as the source data, query the average temperature for the first 12 hours of each day within a certain period.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tY-%1$tm-%1$td'</span><span style="color:#ABB2BF;">,date_bin(1d,</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">)) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> fmtdate,</span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(temperature) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avgtp </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">where</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> >=</span><span style="color:#D19A66;"> 2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-26T00:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#C678DD;"> and</span><span style="color:#C678DD;"> time</span><span style="color:#56B6C2;"> <=</span><span style="color:#D19A66;"> 2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-30T23:</span><span style="color:#D19A66;">59</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">59</span><span style="color:#C678DD;"> and</span><span style="color:#ABB2BF;"> extract(</span><span style="color:#C678DD;">hour</span><span style="color:#C678DD;"> from</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">) </span><span style="color:#56B6C2;"><=</span><span style="color:#D19A66;"> 12</span><span style="color:#C678DD;"> group by</span><span style="color:#ABB2BF;"> date_bin(1d,</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">order by</span><span style="color:#ABB2BF;"> date_bin(1d,</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| fmtdate|avgtp|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">28</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">86</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">29</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">85</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">11</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">30</span><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">90</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">----------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Total </span><span style="color:#C678DD;">line</span><span style="color:#C678DD;"> number</span><span style="color:#56B6C2;"> =</span><span style="color:#D19A66;"> 3</span></span> |
| <span class="line"><span style="color:#ABB2BF;">It costs </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">.041s</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>Introduction to the <code>Format</code> function: <a class="route-link" href="/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html#_7-2-format-function">Format Function</a></p><p>Introduction to the <code>Date_bin</code> function: <a class="route-link" href="/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.html#_4-2-date-bin-interval-timestamp-timestamp-timestamp">Date_bin Funtion</a></p><h2 id="_5-mathematical-functions-and-operators" tabindex="-1"><a class="header-anchor" href="#_5-mathematical-functions-and-operators"><span>5. Mathematical Functions and Operators</span></a></h2><h3 id="_5-1-mathematical-operators" tabindex="-1"><a class="header-anchor" href="#_5-1-mathematical-operators"><span>5.1 Mathematical Operators</span></a></h3><table><thead><tr><th style="text-align:left;"><strong>Operator</strong></th><th style="text-align:left;"><strong>Description</strong></th></tr></thead><tbody><tr><td style="text-align:left;">+</td><td style="text-align:left;">Addition</td></tr><tr><td style="text-align:left;">-</td><td style="text-align:left;">Subtraction</td></tr><tr><td style="text-align:left;">*</td><td style="text-align:left;">Multiplication</td></tr><tr><td style="text-align:left;">/</td><td style="text-align:left;">Division (integer division performs truncation)</td></tr><tr><td style="text-align:left;">%</td><td style="text-align:left;">Modulus (remainder)</td></tr><tr><td style="text-align:left;">-</td><td style="text-align:left;">Negation</td></tr></tbody></table><h3 id="_5-2-mathematical-functions" tabindex="-1"><a class="header-anchor" href="#_5-2-mathematical-functions"><span>5.2 Mathematical functions</span></a></h3><table><thead><tr><th style="text-align:left;">Function Name</th><th style="text-align:left;">Description</th><th style="text-align:left;">Input</th><th style="text-align:left;">Output</th><th style="text-align:left;">Usage</th></tr></thead><tbody><tr><td style="text-align:left;">sin</td><td style="text-align:left;">Sine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">sin(x)</td></tr><tr><td style="text-align:left;">cos</td><td style="text-align:left;">Cosine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">cos(x)</td></tr><tr><td style="text-align:left;">tan</td><td style="text-align:left;">Tangent</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">tan(x)</td></tr><tr><td style="text-align:left;">asin</td><td style="text-align:left;">Inverse Sine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">asin(x)</td></tr><tr><td style="text-align:left;">acos</td><td style="text-align:left;">Inverse Cosine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">acos(x)</td></tr><tr><td style="text-align:left;">atan</td><td style="text-align:left;">Inverse Tangent</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">atan(x)</td></tr><tr><td style="text-align:left;">sinh</td><td style="text-align:left;">Hyperbolic Sine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">sinh(x)</td></tr><tr><td style="text-align:left;">cosh</td><td style="text-align:left;">Hyperbolic Cosine</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">cosh(x)</td></tr><tr><td style="text-align:left;">tanh</td><td style="text-align:left;">Hyperbolic Tangent</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">tanh(x)</td></tr><tr><td style="text-align:left;">degrees</td><td style="text-align:left;">Converts angle <code>x</code> in radians to degrees</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">degrees(x)</td></tr><tr><td style="text-align:left;">radians</td><td style="text-align:left;">Radian Conversion from Degrees</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">radians(x)</td></tr><tr><td style="text-align:left;">abs</td><td style="text-align:left;">Absolute Value</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">Same as input type</td><td style="text-align:left;">abs(x)</td></tr><tr><td style="text-align:left;">sign</td><td style="text-align:left;">Returns the sign of <code>x</code>: - If <code>x = 0</code>, returns <code>0</code> - If <code>x > 0</code>, returns <code>1</code> - If <code>x < 0</code>, returns <code>-1</code> For <code>double/float</code> inputs: - If <code>x = NaN</code>, returns <code>NaN</code> - If <code>x = +Infinity</code>, returns <code>1.0</code> - If <code>x = -Infinity</code>, returns <code>-1.0</code></td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">Same as input type</td><td style="text-align:left;">sign(x)</td></tr><tr><td style="text-align:left;">ceil</td><td style="text-align:left;">Rounds <code>x</code> up to the nearest integer</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">ceil(x)</td></tr><tr><td style="text-align:left;">floor</td><td style="text-align:left;">Rounds <code>x</code> down to the nearest integer</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">floor(x)</td></tr><tr><td style="text-align:left;">exp</td><td style="text-align:left;">Returns <code>e^x</code> (Euler's number raised to the power of <code>x</code>)</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">exp(x)</td></tr><tr><td style="text-align:left;">ln</td><td style="text-align:left;">Returns the natural logarithm of <code>x</code></td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">ln(x)</td></tr><tr><td style="text-align:left;">log10</td><td style="text-align:left;">Returns the base 10 logarithm of <code>x</code></td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">log10(x)</td></tr><tr><td style="text-align:left;">round</td><td style="text-align:left;">Rounds <code>x</code> to the nearest integer</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">round(x)</td></tr><tr><td style="text-align:left;">round</td><td style="text-align:left;">Rounds <code>x</code> to <code>d</code> decimal places</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">round(x, d)</td></tr><tr><td style="text-align:left;">sqrt</td><td style="text-align:left;">Returns the square root of <code>x</code>.</td><td style="text-align:left;">double, float, INT64, INT32</td><td style="text-align:left;">double</td><td style="text-align:left;">sqrt(x)</td></tr><tr><td style="text-align:left;">e</td><td style="text-align:left;">Returns Euler’s number <code>e</code>.</td><td style="text-align:left;"></td><td style="text-align:left;">double</td><td style="text-align:left;">e()</td></tr><tr><td style="text-align:left;">pi</td><td style="text-align:left;">Pi (π)</td><td style="text-align:left;"></td><td style="text-align:left;">double</td><td style="text-align:left;">pi()</td></tr></tbody></table><h2 id="_6-bitwise-functions" tabindex="-1"><a class="header-anchor" href="#_6-bitwise-functions"><span>6. Bitwise Functions</span></a></h2><blockquote><p>Supported from version V2.0.6</p></blockquote><p>Example raw data is as follows:</p><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>IoTDB:database1> select * from bit_table</span></span> |
| <span class="line"><span>+-----------------------------+---------+------+-----+</span></span> |
| <span class="line"><span>| time|device_id|length|width|</span></span> |
| <span class="line"><span>+-----------------------------+---------+------+-----+</span></span> |
| <span class="line"><span>|2025-10-29T15:59:42.957+08:00| d1| 14| 12|</span></span> |
| <span class="line"><span>|2025-10-29T15:58:59.399+08:00| d3| 15| 10|</span></span> |
| <span class="line"><span>|2025-10-29T15:59:32.769+08:00| d2| 13| 12|</span></span> |
| <span class="line"><span>+-----------------------------+---------+------+-----+</span></span> |
| <span class="line"><span></span></span> |
| <span class="line"><span>-- Table creation statement</span></span> |
| <span class="line"><span>CREATE TABLE bit_table(time TIMESTAMP TIME, device_id STRING TAG, length INT32 FIELD, width INT32 FIELD);</span></span> |
| <span class="line"><span></span></span> |
| <span class="line"><span>-- Write data</span></span> |
| <span class="line"><span>INSERT INTO bit_table values(2025-10-29 15:59:42.957, 'd1', 14, 12),(2025-10-29 15:58:59.399, 'd3', 15, 10),(2025-10-29 15:59:32.769, 'd2', 13, 12);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-1-bit-count-num-bits" tabindex="-1"><a class="header-anchor" href="#_6-1-bit-count-num-bits"><span>6.1 bit_count(num, bits)</span></a></h3><p>The <code>bit_count(num, bits)</code>function is used to count the number of 1s in the binary representation of the integer <code>num</code>under the specified bit width <code>bits</code>.</p><h4 id="_6-1-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-1-1-syntax-definition"><span>6.1.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bit_count(num, bits) -> INT64 -- The return type is Int64</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>num:</strong> Any integer value (int32 or int64)</li><li><strong>bits:</strong> Integer value, with a valid range of 2~64</li></ul></li></ul><p>Note: An error will be raised if the number of <code>bits</code>is insufficient to represent <code>num</code>(using <strong>two's complement signed representation</strong>): <code>Argument exception, the scalar function num must be representable with the bits specified. [num] cannot be represented with [bits] bits.</code></p><ul><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bit_count(9, 64)</code></li><li>Column and a number: <code>bit_count(column1, 64)</code></li><li>Between two columns: <code>bit_count(column1, column2)</code></li></ul></li></ul><h4 id="_6-1-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-1-2-usage-examples"><span>6.1.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>-- Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bit_count(2,8) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 1|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bit_count(-5,8) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 7|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length,bit_count(length,8) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 3|</span></span> |
| <span class="line"><span>| 15| 4|</span></span> |
| <span class="line"><span>| 13| 3|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>-- Insufficient bits</span></span> |
| <span class="line"><span>IoTDB:database1> select length,bit_count(length,2) from bit_table</span></span> |
| <span class="line"><span>Msg: org.apache.iotdb.jdbc.IoTDBSQLException: 701: Argument exception, the scalar function num must be representable with the bits specified. 13 cannot be represented with 2 bits.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-2-bitwise-and-x-y" tabindex="-1"><a class="header-anchor" href="#_6-2-bitwise-and-x-y"><span>6.2 bitwise_and(x, y)</span></a></h3><p>The <code>bitwise_and(x, y)</code>function performs a logical AND operation on each bit of two integers x and y based on their two's complement representation, and returns the bitwise AND operation result.</p><h4 id="_6-2-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-2-1-syntax-definition"><span>6.2.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_and(x, y) -> INT64 -- The return type is Int64</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>x, y</strong>: Must be integer values of data type Int32 or Int64</li></ul></li><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bitwise_and(19, 25)</code></li><li>Column and a number: <code>bitwise_and(column1, 25)</code></li><li>Between two columns: <code>bitwise_and(column1, column2)</code></li></ul></li></ul><h4 id="_6-2-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-2-2-usage-examples"><span>6.2.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>--Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_and(19,25) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 17|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>--Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length, bitwise_and(length,25) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 8|</span></span> |
| <span class="line"><span>| 15| 9|</span></span> |
| <span class="line"><span>| 13| 9|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>--Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_and(length, width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 12|</span></span> |
| <span class="line"><span>| 15| 10| 10|</span></span> |
| <span class="line"><span>| 13| 12| 12|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-3-bitwise-not-x" tabindex="-1"><a class="header-anchor" href="#_6-3-bitwise-not-x"><span>6.3 bitwise_not(x)</span></a></h3><p>The <code>bitwise_not(x)</code>function performs a logical NOT operation on each bit of the integer x based on its two's complement representation, and returns the bitwise NOT operation result.</p><h4 id="_6-3-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-3-1-syntax-definition"><span>6.3.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_not(x) -> INT64 -- The return type is Int64</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>x</strong>: Must be an integer value of data type Int32 or Int64</li></ul></li><li><p>Usage Methods</p><ul><li>Specific number: <code>bitwise_not(5)</code></li><li>Single column operation: <code>bitwise_not(column1)</code></li></ul></li></ul><h4 id="_6-3-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-3-2-usage-examples"><span>6.3.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>-- Specific number</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_not(5) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| -6|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Single column</span></span> |
| <span class="line"><span>IoTDB:database1> select length, bitwise_not(length) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| -15|</span></span> |
| <span class="line"><span>| 15| -16|</span></span> |
| <span class="line"><span>| 13| -14|</span></span> |
| <span class="line"><span>+------+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-4-bitwise-or-x-y" tabindex="-1"><a class="header-anchor" href="#_6-4-bitwise-or-x-y"><span>6.4 bitwise_or(x, y)</span></a></h3><p>The <code>bitwise_or(x,y)</code>function performs a logical OR operation on each bit of two integers x and y based on their two's complement representation, and returns the bitwise OR operation result.</p><h4 id="_6-4-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-4-1-syntax-definition"><span>6.4.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_or(x, y) -> INT64 -- The return type is Int64</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>x, y</strong>: Must be integer values of data type Int32 or Int64</li></ul></li><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bitwise_or(19, 25)</code></li><li>Column and a number: <code>bitwise_or(column1, 25)</code></li><li>Between two columns: <code>bitwise_or(column1, column2)</code></li></ul></li></ul><h4 id="_6-4-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-4-2-usage-examples"><span>6.4.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>-- Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_or(19,25) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 27|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length,bitwise_or(length,25) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 31|</span></span> |
| <span class="line"><span>| 15| 31|</span></span> |
| <span class="line"><span>| 13| 29|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>-- Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_or(length,width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 14|</span></span> |
| <span class="line"><span>| 15| 10| 15|</span></span> |
| <span class="line"><span>| 13| 12| 13|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-5-bitwise-xor-x-y" tabindex="-1"><a class="header-anchor" href="#_6-5-bitwise-xor-x-y"><span>6.5 bitwise_xor(x, y)</span></a></h3><p>The <code>bitwise_xor(x,y)</code>function performs a logical XOR (exclusive OR) operation on each bit of two integers x and y based on their two's complement representation, and returns the bitwise XOR operation result. XOR rule: same bits result in 0, different bits result in 1.</p><h4 id="_6-5-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-5-1-syntax-definition"><span>6.5.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_xor(x, y) -> INT64 -- The return type is Int64</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>x, y</strong>: Must be integer values of data type Int32 or Int64</li></ul></li><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bitwise_xor(19, 25)</code></li><li>Column and a number: <code>bitwise_xor(column1, 25)</code></li><li>Between two columns: <code>bitwise_xor(column1, column2)</code></li></ul></li></ul><h4 id="_6-5-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-5-2-usage-examples"><span>6.5.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>-- Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_xor(19,25) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 10|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length,bitwise_xor(length,25) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 23|</span></span> |
| <span class="line"><span>| 15| 22|</span></span> |
| <span class="line"><span>| 13| 20|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>-- Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_xor(length,width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 2|</span></span> |
| <span class="line"><span>| 15| 10| 5|</span></span> |
| <span class="line"><span>| 13| 12| 1|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-6-bitwise-left-shift-value-shift" tabindex="-1"><a class="header-anchor" href="#_6-6-bitwise-left-shift-value-shift"><span>6.6 bitwise_left_shift(value, shift)</span></a></h3><p>The <code>bitwise_left_shift(value, shift)</code>function returns the result of shifting the binary representation of integer <code>value</code>left by <code>shift</code>bits. The left shift operation moves bits towards the higher-order direction, filling the vacated lower-order bits with 0s, and discarding the higher-order bits that overflow. Equivalent to: <code>value << shift</code>.</p><h4 id="_6-6-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-6-1-syntax-definition"><span>6.6.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_left_shift(value, shift) -> [same as value] -- The return type is the same as the data type of value</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>value</strong>: The integer value to shift left. Must be of data type Int32 or Int64.</li><li><strong>shift</strong>: The number of bits to shift. Must be of data type Int32 or Int64.</li></ul></li><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bitwise_left_shift(1, 2)</code></li><li>Column and a number: <code>bitwise_left_shift(column1, 2)</code></li><li>Between two columns: <code>bitwise_left_shift(column1, column2)</code></li></ul></li></ul><h4 id="_6-6-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-6-2-usage-examples"><span>6.6.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>--Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_left_shift(1,2) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 4|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length, bitwise_left_shift(length,2) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 56|</span></span> |
| <span class="line"><span>| 15| 60|</span></span> |
| <span class="line"><span>| 13| 52|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>-- Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_left_shift(length,width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 0|</span></span> |
| <span class="line"><span>| 15| 10| 0|</span></span> |
| <span class="line"><span>| 13| 12| 0|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-7-bitwise-right-shift-value-shift" tabindex="-1"><a class="header-anchor" href="#_6-7-bitwise-right-shift-value-shift"><span>6.7 bitwise_right_shift(value, shift)</span></a></h3><p>The <code>bitwise_right_shift(value, shift)</code>function returns the result of logically (unsigned) right shifting the binary representation of integer <code>value</code>by <code>shift</code>bits. The logical right shift operation moves bits towards the lower-order direction, filling the vacated higher-order bits with 0s, and discarding the lower-order bits that overflow.</p><h4 id="_6-7-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-7-1-syntax-definition"><span>6.7.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_right_shift(value, shift) -> [same as value] -- The return type is the same as the data type of value</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>value</strong>: The integer value to shift right. Must be of data type Int32 or Int64.</li><li><strong>shift</strong>: The number of bits to shift. Must be of data type Int32 or Int64.</li></ul></li><li><p>Usage Methods</p><ul><li>Two specific numbers: <code>bitwise_right_shift(8, 3)</code></li><li>Column and a number: <code>bitwise_right_shift(column1, 3)</code></li><li>Between two columns: <code>bitwise_right_shift(column1, column2)</code></li></ul></li></ul><h4 id="_6-7-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-7-2-usage-examples"><span>6.7.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>--Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_right_shift(8,3) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 1|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>--Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length, bitwise_right_shift(length,3) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 1|</span></span> |
| <span class="line"><span>| 15| 1|</span></span> |
| <span class="line"><span>| 13| 1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>--Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_right_shift(length,width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 0|</span></span> |
| <span class="line"><span>| 15| 10| 0|</span></span> |
| <span class="line"><span>| 13| 12| 0|</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_6-8-bitwise-right-shift-arithmetic-value-shift" tabindex="-1"><a class="header-anchor" href="#_6-8-bitwise-right-shift-arithmetic-value-shift"><span>6.8 bitwise_right_shift_arithmetic(value, shift)</span></a></h3><p>The <code>bitwise_right_shift_arithmetic(value, shift)</code>function returns the result of arithmetically right shifting the binary representation of integer <code>value</code>by <code>shift</code>bits. The arithmetic right shift operation moves bits towards the lower-order direction, discarding the lower-order bits that overflow, and filling the vacated higher-order bits with the sign bit (0 for positive numbers, 1 for negative numbers) to preserve the sign of the number.</p><h4 id="_6-8-1-syntax-definition" tabindex="-1"><a class="header-anchor" href="#_6-8-1-syntax-definition"><span>6.8.1 Syntax Definition</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>bitwise_right_shift_arithmetic(value, shift) -> [same as value]-- The return type is the same as the data type of value</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><p>Parameter Description</p><ul><li><strong>value</strong>: The integer value to shift right. Must be of data type Int32 or Int64.</li><li><strong>shift</strong>: The number of bits to shift. Must be of data type Int32 or Int64.</li></ul></li><li><p>Usage Methods:</p><ul><li>Two specific numbers: <code>bitwise_right_shift_arithmetic(12, 2)</code></li><li>Column and a number: <code>bitwise_right_shift_arithmetic(column1, 64)</code></li><li>Between two columns: <code>bitwise_right_shift_arithmetic(column1, column2)</code></li></ul></li></ul><h4 id="_6-8-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_6-8-2-usage-examples"><span>6.8.2 Usage Examples</span></a></h4><div class="language- line-numbers-mode" data-highlighter="shiki" data-ext="" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-"><span class="line"><span>--Two specific numbers</span></span> |
| <span class="line"><span>IoTDB:database1> select distinct bitwise_right_shift_arithmetic(12,2) from bit_table</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>|_col0|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>| 3|</span></span> |
| <span class="line"><span>+-----+</span></span> |
| <span class="line"><span>-- Column and a number</span></span> |
| <span class="line"><span>IoTDB:database1> select length, bitwise_right_shift_arithmetic(length,3) from bit_table</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>|length|_col1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>| 14| 1|</span></span> |
| <span class="line"><span>| 15| 1|</span></span> |
| <span class="line"><span>| 13| 1|</span></span> |
| <span class="line"><span>+------+-----+</span></span> |
| <span class="line"><span>--Between two columns</span></span> |
| <span class="line"><span>IoTDB:database1> select length, width, bitwise_right_shift_arithmetic(length,width) from bit_table</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>|length|width|_col2|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span> |
| <span class="line"><span>| 14| 12| 0|</span></span> |
| <span class="line"><span>| 15| 10| 0|</span></span> |
| <span class="line"><span>| 13| 12| 0|</span></span> |
| <span class="line"><span>+------+-----+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_7-conditional-expressions" tabindex="-1"><a class="header-anchor" href="#_7-conditional-expressions"><span>7. Conditional Expressions</span></a></h2><h3 id="_7-1-case" tabindex="-1"><a class="header-anchor" href="#_7-1-case"><span>7.1 CASE</span></a></h3><p>CASE expressions come in two forms: <strong>Simple CASE</strong> and <strong>Searched CASE</strong>.</p><h4 id="_7-1-1-simple-case" tabindex="-1"><a class="header-anchor" href="#_7-1-1-simple-case"><span>7.1.1 Simple CASE</span></a></h4><p>The simple form evaluates each value expression from left to right until it finds a match with the given expression:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">CASE</span><span style="color:#ABB2BF;"> expression</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#C678DD;"> value</span><span style="color:#C678DD;"> THEN</span><span style="color:#ABB2BF;"> result</span></span> |
| <span class="line"><span style="color:#E06C75;"> [ WHEN ... ]</span></span> |
| <span class="line"><span style="color:#E06C75;"> [ ELSE result ]</span></span> |
| <span class="line"><span style="color:#C678DD;">END</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If a matching value is found, the corresponding result is returned. If no match is found, the result from the <code>ELSE</code> clause (if provided) is returned; otherwise, <code>NULL</code> is returned.</p><p>Example:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> a, </span></span> |
| <span class="line"><span style="color:#C678DD;"> CASE</span><span style="color:#ABB2BF;"> a </span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#D19A66;"> 1</span><span style="color:#C678DD;"> THEN</span><span style="color:#98C379;"> 'one'</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#D19A66;"> 2</span><span style="color:#C678DD;"> THEN</span><span style="color:#98C379;"> 'two'</span></span> |
| <span class="line"><span style="color:#C678DD;"> ELSE</span><span style="color:#98C379;"> 'many'</span></span> |
| <span class="line"><span style="color:#C678DD;"> END</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_7-1-2-searched-case" tabindex="-1"><a class="header-anchor" href="#_7-1-2-searched-case"><span>7.1.2 Searched CASE</span></a></h4><p>The searched form evaluates each Boolean condition from left to right until a <code>TRUE</code> condition is found, then returns the corresponding result:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">CASE</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#ABB2BF;"> condition </span><span style="color:#C678DD;">THEN</span><span style="color:#ABB2BF;"> result</span></span> |
| <span class="line"><span style="color:#E06C75;"> [ WHEN ... ]</span></span> |
| <span class="line"><span style="color:#E06C75;"> [ ELSE result ]</span></span> |
| <span class="line"><span style="color:#C678DD;">END</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>If no condition evaluates to <code>TRUE</code>, the <code>ELSE</code> clause result (if provided) is returned; otherwise, <code>NULL</code> is returned.</p><p>Example:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> a, b, </span></span> |
| <span class="line"><span style="color:#C678DD;"> CASE</span><span style="color:#ABB2BF;"> </span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#ABB2BF;"> a </span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;"> 1</span><span style="color:#C678DD;"> THEN</span><span style="color:#98C379;"> 'aaa'</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHEN</span><span style="color:#ABB2BF;"> b </span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;"> 2</span><span style="color:#C678DD;"> THEN</span><span style="color:#98C379;"> 'bbb'</span></span> |
| <span class="line"><span style="color:#C678DD;"> ELSE</span><span style="color:#98C379;"> 'ccc'</span></span> |
| <span class="line"><span style="color:#C678DD;"> END</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_7-2-coalesce" tabindex="-1"><a class="header-anchor" href="#_7-2-coalesce"><span>7.2 COALESCE</span></a></h3><p>Returns the first non-null value from the given list of parameters.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#56B6C2;">coalesce</span><span style="color:#ABB2BF;">(value1, value2</span><span style="color:#E06C75;">[, ...]</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h2 id="_8-conversion-functions" tabindex="-1"><a class="header-anchor" href="#_8-conversion-functions"><span>8. Conversion Functions</span></a></h2><h3 id="_8-1-conversion-functions" tabindex="-1"><a class="header-anchor" href="#_8-1-conversion-functions"><span>8.1 Conversion Functions</span></a></h3><h4 id="_8-1-1-cast-value-as-type-→-type" tabindex="-1"><a class="header-anchor" href="#_8-1-1-cast-value-as-type-→-type"><span>8.1.1 cast(value AS type) → type</span></a></h4><p>Explicitly converts a value to the specified type. This can be used to convert strings (<code>VARCHAR</code>) to numeric types or numeric values to string types.</p><p>If the conversion fails, a runtime error is thrown.</p><p>Example:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> *</span></span> |
| <span class="line"><span style="color:#C678DD;"> FROM</span><span style="color:#ABB2BF;"> table1</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHERE</span><span style="color:#56B6C2;"> CAST</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">) </span></span> |
| <span class="line"><span style="color:#C678DD;"> IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#56B6C2;">CAST</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'2024-11-27'</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">), </span><span style="color:#56B6C2;">CAST</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'2024-11-28'</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">));</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="_8-1-2-try-cast-value-as-type-→-type" tabindex="-1"><a class="header-anchor" href="#_8-1-2-try-cast-value-as-type-→-type"><span>8.1.2 try_cast(value AS type) → type</span></a></h4><p>Similar to <code>CAST()</code>. If the conversion fails, returns <code>NULL</code> instead of throwing an error.</p><p>Example:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> *</span></span> |
| <span class="line"><span style="color:#C678DD;"> FROM</span><span style="color:#ABB2BF;"> table1</span></span> |
| <span class="line"><span style="color:#C678DD;"> WHERE</span><span style="color:#56B6C2;"> try_cast</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">) </span></span> |
| <span class="line"><span style="color:#C678DD;"> IN</span><span style="color:#ABB2BF;"> (</span><span style="color:#56B6C2;">try_cast</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'2024-11-27'</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">), </span><span style="color:#56B6C2;">try_cast</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'2024-11-28'</span><span style="color:#C678DD;"> AS</span><span style="color:#C678DD;"> DATE</span><span style="color:#ABB2BF;">));</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_8-2-format-function" tabindex="-1"><a class="header-anchor" href="#_8-2-format-function"><span>8.2 Format Function</span></a></h3><p>This function generates and returns a formatted string based on a specified format string and input arguments. Similar to Java’s <code>String.format</code> or C’s <code>printf</code>, it allows developers to construct dynamic string templates using placeholder syntax. Predefined format specifiers in the template are replaced precisely with corresponding argument values, producing a complete string that adheres to specific formatting requirements.</p><h4 id="_8-2-1-syntax" tabindex="-1"><a class="header-anchor" href="#_8-2-1-syntax"><span>8.2.1 Syntax</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#56B6C2;">format</span><span style="color:#ABB2BF;">(pattern, ...args) -</span><span style="color:#56B6C2;">></span><span style="color:#ABB2BF;"> STRING</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><p><strong>Parameters</strong></p><ul><li><code>pattern</code>: A format string containing static text and one or more format specifiers (e.g., <code>%s</code>, <code>%d</code>), or any expression returning a <code>STRING</code>/<code>TEXT</code> type.</li><li><code>args</code>: Input arguments to replace format specifiers. Constraints: <ul><li>Number of arguments ≥ 1.</li><li>Multiple arguments must be comma-separated (e.g., <code>arg1, arg2</code>).</li><li>Total arguments can exceed the number of specifiers in <code>pattern</code> but cannot be fewer, otherwise an exception is triggered.</li></ul></li></ul><p><strong>Return Value</strong></p><ul><li>Formatted result string of type <code>STRING</code>.</li></ul><h4 id="_8-2-2-usage-examples" tabindex="-1"><a class="header-anchor" href="#_8-2-2-usage-examples"><span>8.2.2 Usage Examples</span></a></h4><ol><li>Format Floating-Point Numbers<div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%.5f'</span><span style="color:#ABB2BF;">, humidity) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> humidity </span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;"> 35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">4</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">40000</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li><li>Format Integers<div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%03d'</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">8</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">008</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li><li>Format Dates and Timestamps</li></ol><ul><li>Locale-Specific Date</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tA, %1$tB %1$te, %1$tY'</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|Monday, January </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">--------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Remove Timezone Information</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL'</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T00:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Second-Level Timestamp Precision</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tF %1$tT'</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T00:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2024</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#D19A66;"> 00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li>Date/Time Format Symbols</li></ul><table><thead><tr><th><strong>Symbol</strong></th><th><strong> Description</strong></th></tr></thead><tbody><tr><td>'H'</td><td>24-hour format (two digits, zero-padded), i.e. 00 - 23</td></tr><tr><td>'I'</td><td>12-hour format (two digits, zero-padded), i.e. 01 - 12</td></tr><tr><td>'k'</td><td>24-hour format (no padding), i.e. 0 - 23</td></tr><tr><td>'l'</td><td>12-hour format (no padding), i.e. 1 - 12</td></tr><tr><td>'M'</td><td>Minute (two digits, zero-padded), i.e. 00 - 59</td></tr><tr><td>'S'</td><td>Second (two digits, zero-padded; supports leap seconds), i.e. 00 - 60</td></tr><tr><td>'L'</td><td>Millisecond (three digits, zero-padded), i.e. 000 - 999</td></tr><tr><td>'N'</td><td>Nanosecond (nine digits, zero-padded), i.e. 000000000 - 999999999。</td></tr><tr><td>'p'</td><td>Locale-specific lowercase AM/PM marker (e.g., "am", "pm"). Prefix with<code>T</code>to force uppercase (e.g., "AM").</td></tr><tr><td>'z'</td><td>RFC 822 timezone offset from GMT (e.g.,<code>-0800</code>). Adjusts for daylight saving. Uses the JVM's default timezone for<code>long</code>/<code>Long</code>/<code>Date</code>.</td></tr><tr><td>'Z'</td><td>Timezone abbreviation (e.g., "PST"). Adjusts for daylight saving. Uses the JVM's default timezone; Formatter's timezone overrides the argument's timezone if specified.</td></tr><tr><td>'s'</td><td>Seconds since Unix epoch (1970-01-01 00:00:00 UTC), i.e. Long.MIN_VALUE/1000 to Long.MAX_VALUE/1000。</td></tr><tr><td>'Q'</td><td>Milliseconds since Unix epoch, i.e. Long.MIN_VALUE 至 Long.MAX_VALUE。</td></tr></tbody></table><ul><li>Common Date/Time Conversion Characters</li></ul><table><thead><tr><th><strong>Symbol</strong></th><th><strong> Description</strong></th></tr></thead><tbody><tr><td>'B'</td><td>Locale-specific full month name, for example "January", "February"</td></tr><tr><td>'b'</td><td>Locale-specific abbreviated month name, for example "Jan", "Feb"</td></tr><tr><td>'h'</td><td>Same as<code>b</code></td></tr><tr><td>'A'</td><td>Locale-specific full weekday name, for example "Sunday", "Monday"</td></tr><tr><td>'a'</td><td>Locale-specific short weekday name, for example "Sun", "Mon"</td></tr><tr><td>'C'</td><td>Year divided by 100 (two digits, zero-padded)</td></tr><tr><td>'Y'</td><td>Year (minimum 4 digits, zero-padded)</td></tr><tr><td>'y'</td><td>Last two digits of year (zero-padded)</td></tr><tr><td>'j'</td><td>Day of year (three digits, zero-padded)</td></tr><tr><td>'m'</td><td>Month (two digits, zero-padded)</td></tr><tr><td>'d'</td><td>Day of month (two digits, zero-padded)</td></tr><tr><td>'e'</td><td>Day of month (no padding)</td></tr></tbody></table><ol start="4"><li>Format Strings<div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'The measurement status is: %s'</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table2 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| _col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|The measurement </span><span style="color:#C678DD;">status</span><span style="color:#C678DD;"> is</span><span style="color:#ABB2BF;">: true|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-------------------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li><li>Format Percentage Sign<div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%s%%'</span><span style="color:#ABB2BF;">, </span><span style="color:#D19A66;">99</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">9</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">LIMIT</span><span style="color:#D19A66;"> 1</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|_col0|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">99</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">9</span><span style="color:#ABB2BF;">%|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></li></ol><h4 id="_8-2-3-format-conversion-failure-scenarios" tabindex="-1"><a class="header-anchor" href="#_8-2-3-format-conversion-failure-scenarios"><span>8.2.3 Format Conversion Failure Scenarios</span></a></h4><ol><li>Type Mismatch Errors</li></ol><ul><li><p>Timestamp Type Conflict</p><p>If the format specifier includes time-related tokens (e.g., <code>%Y-%m-%d</code>) but the argument:</p><ul><li>Is a non-<code>DATE</code>/<code>TIMESTAMP</code> type value. ◦</li><li>Requires sub-day precision (e.g., <code>%H</code>, <code>%M</code>) but the argument is not <code>TIMESTAMP</code>.</li></ul></li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#7F848E;font-style:italic;">-- Example 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tA, %1$tB %1$te, %1$tY'</span><span style="color:#ABB2BF;">, humidity) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table2 </span><span style="color:#C678DD;">limit</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: Invalid format string: %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tA, %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tB %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$te, %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tY (IllegalFormatConversion: A </span><span style="color:#56B6C2;">!=</span><span style="color:#D19A66;"> java</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">lang</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">Float</span><span style="color:#ABB2BF;">)</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Example 2</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS.%1$tL'</span><span style="color:#ABB2BF;">, humidity) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">limit</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: Invalid format string: %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tY-%</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tm-%</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$td %</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tH:%</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tM:%</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tS.%</span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">$tL (IllegalFormatConversion: Y </span><span style="color:#56B6C2;">!=</span><span style="color:#D19A66;"> java</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">lang</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">Float</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ul><li><p>Floating-Point Type Conflict</p><p>Using <code>%f</code> with non-numeric arguments (e.g., strings or booleans):</p></li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%.5f'</span><span style="color:#ABB2BF;">,</span><span style="color:#C678DD;">status</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">where</span><span style="color:#ABB2BF;"> humidity </span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;"> 35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">4</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: Invalid format string: %.5f (IllegalFormatConversion: f </span><span style="color:#56B6C2;">!=</span><span style="color:#D19A66;"> java</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">lang</span><span style="color:#ABB2BF;">.</span><span style="color:#C678DD;">Boolean</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><ol start="2"><li><p>Argument Count Mismatch<br> The number of arguments must equal or exceed the number of format specifiers.</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%.5f %03d'</span><span style="color:#ABB2BF;">, humidity) </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> humidity </span><span style="color:#56B6C2;">=</span><span style="color:#D19A66;"> 35</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">4</span><span style="color:#ABB2BF;">;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: Invalid format string: %.5f %03d (MissingFormatArgument: Format specifier </span><span style="color:#98C379;">'%03d'</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div></li><li><p>Invalid Invocation Errors</p></li></ol><p>Triggered if:</p><ul><li>Total arguments < 2 (must include <code>pattern</code> and at least one argument).•</li><li><code>pattern</code> is not of type <code>STRING</code>/<code>TEXT</code>.</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#7F848E;font-style:italic;">-- Example 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'%s'</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">limit</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: </span><span style="color:#C678DD;">Scalar</span><span style="color:#C678DD;"> function</span><span style="color:#ABB2BF;"> format must have </span><span style="color:#C678DD;">at</span><span style="color:#ABB2BF;"> least two arguments, </span><span style="color:#C678DD;">and</span><span style="color:#C678DD;"> first</span><span style="color:#ABB2BF;"> argument pattern must be </span><span style="color:#C678DD;">TEXT</span><span style="color:#C678DD;"> or</span><span style="color:#ABB2BF;"> STRING </span><span style="color:#C678DD;">type</span><span style="color:#ABB2BF;">.</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">--Example 2</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB:database1</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> select</span><span style="color:#56B6C2;"> format</span><span style="color:#ABB2BF;">(</span><span style="color:#D19A66;">123</span><span style="color:#ABB2BF;">, humidity) </span><span style="color:#C678DD;">from</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">limit</span><span style="color:#D19A66;"> 1</span></span> |
| <span class="line"><span style="color:#ABB2BF;">Msg: </span><span style="color:#D19A66;">org</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">apache</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">iotdb</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">jdbc</span><span style="color:#ABB2BF;">.IoTDBSQLException: </span><span style="color:#D19A66;">701</span><span style="color:#ABB2BF;">: </span><span style="color:#C678DD;">Scalar</span><span style="color:#C678DD;"> function</span><span style="color:#ABB2BF;"> format must have </span><span style="color:#C678DD;">at</span><span style="color:#ABB2BF;"> least two arguments, </span><span style="color:#C678DD;">and</span><span style="color:#C678DD;"> first</span><span style="color:#ABB2BF;"> argument pattern must be </span><span style="color:#C678DD;">TEXT</span><span style="color:#C678DD;"> or</span><span style="color:#ABB2BF;"> STRING </span><span style="color:#C678DD;">type</span><span style="color:#ABB2BF;">.</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="_9-string-functions-and-operators" tabindex="-1"><a class="header-anchor" href="#_9-string-functions-and-operators"><span>9. String Functions and Operators</span></a></h2><h3 id="_9-1-string-operators" tabindex="-1"><a class="header-anchor" href="#_9-1-string-operators"><span>9.1 String operators</span></a></h3><h4 id="_9-1-1-operator" tabindex="-1"><a class="header-anchor" href="#_9-1-1-operator"><span>9.1.1 || Operator</span></a></h4><p>The <code>||</code> operator is used for string concatenation and functions the same as the <code>concat</code> function.</p><h4 id="_9-1-2-like-statement" tabindex="-1"><a class="header-anchor" href="#_9-1-2-like-statement"><span>9.1.2 LIKE Statement</span></a></h4><p>The <code>LIKE</code> statement is used for pattern matching. For detailed usage, refer to Pattern Matching:<a href="#1-like-%E8%BF%90%E7%AE%97%E7%AC%A6">LIKE</a>.</p><h3 id="_9-2-string-functions" tabindex="-1"><a class="header-anchor" href="#_9-2-string-functions"><span>9.2 String Functions</span></a></h3><table><thead><tr><th style="text-align:left;">Function Name</th><th style="text-align:left;">Description</th><th style="text-align:left;">Input</th><th style="text-align:left;">Output</th><th style="text-align:left;">Usage</th></tr></thead><tbody><tr><td style="text-align:left;"><code>length</code></td><td style="text-align:left;">Returns the number of characters in a string (not byte length).</td><td style="text-align:left;"><code>string</code> (the string whose length is to be calculated)</td><td style="text-align:left;">INT32</td><td style="text-align:left;">length(string)</td></tr><tr><td style="text-align:left;"><code>upper</code></td><td style="text-align:left;">Converts all letters in a string to uppercase.</td><td style="text-align:left;">string</td><td style="text-align:left;">String</td><td style="text-align:left;">upper(string)</td></tr><tr><td style="text-align:left;"><code>lower</code></td><td style="text-align:left;">Converts all letters in a string to lowercase.</td><td style="text-align:left;">string</td><td style="text-align:left;">String</td><td style="text-align:left;">lower(string)</td></tr><tr><td style="text-align:left;"><code>trim</code></td><td style="text-align:left;">Removes specified leading and/or trailing characters from a string. <strong>Parameters:</strong> - <code>specification</code> (optional): Specifies which side to trim: - <code>BOTH</code>: Removes characters from both sides (default). - <code>LEADING</code>: Removes characters from the beginning. - <code>TRAILING</code>: Removes characters from the end. - <code>trimcharacter</code> (optional): Character to be removed (default is whitespace). - <code>string</code>: The target string.</td><td style="text-align:left;">string</td><td style="text-align:left;">String</td><td style="text-align:left;">trim([ [ specification ] [ trimcharacter ] FROM ] string) Example:<code>trim('!' FROM '!foo!');</code> —— <code>'foo'</code></td></tr><tr><td style="text-align:left;"><code>strpos</code></td><td style="text-align:left;">Returns the position of the first occurrence of <code>subStr</code> in <code>sourceStr</code>. <strong>Notes:</strong> - Position starts at <code>1</code>. - Returns <code>0</code> if <code>subStr</code> is not found. - Positioning is based on characters, not byte arrays.</td><td style="text-align:left;"><code>sourceStr</code> (string to be searched), <code>subStr</code> (substring to find)</td><td style="text-align:left;">INT32</td><td style="text-align:left;">strpos(sourceStr, subStr)</td></tr><tr><td style="text-align:left;"><code>starts_with</code></td><td style="text-align:left;">Checks if <code>sourceStr</code> starts with the specified <code>prefix</code>.</td><td style="text-align:left;"><code>sourceStr</code>, <code>prefix</code></td><td style="text-align:left;">Boolean</td><td style="text-align:left;">starts_with(sourceStr, prefix)</td></tr><tr><td style="text-align:left;"><code>ends_with</code></td><td style="text-align:left;">Checks if <code>sourceStr</code> ends with the specified <code>suffix</code>.</td><td style="text-align:left;"><code>sourceStr</code>, <code>suffix</code></td><td style="text-align:left;">Boolean</td><td style="text-align:left;">ends_with(sourceStr, suffix)</td></tr><tr><td style="text-align:left;"><code>concat</code></td><td style="text-align:left;">Concatenates <code>string1, string2, ..., stringN</code>. Equivalent to the <code>||</code> operator.</td><td style="text-align:left;"><code>string</code>, <code>text</code></td><td style="text-align:left;">String</td><td style="text-align:left;">concat(str1, str2, ...) or str1 || str2 ...</td></tr><tr><td style="text-align:left;"><code>strcmp</code></td><td style="text-align:left;">Compares two strings lexicographically. <strong>Returns:</strong> - <code>-1</code> if <code>str1 < str2</code> - <code>0</code> if <code>str1 = str2</code> - <code>1</code> if <code>str1 > str2</code> - <code>NULL</code> if either <code>str1</code> or <code>str2</code> is <code>NULL</code></td><td style="text-align:left;"><code>string1</code>, <code>string2</code></td><td style="text-align:left;">INT32</td><td style="text-align:left;">strcmp(str1, str2)</td></tr><tr><td style="text-align:left;"><code>replace</code></td><td style="text-align:left;">Removes all occurrences of <code>search</code> in <code>string</code>.</td><td style="text-align:left;"><code>string</code>, <code>search</code></td><td style="text-align:left;">String</td><td style="text-align:left;">replace(string, search)</td></tr><tr><td style="text-align:left;"><code>replace</code></td><td style="text-align:left;">Replaces all occurrences of <code>search</code> in <code>string</code> with <code>replace</code>.</td><td style="text-align:left;"><code>string</code>, <code>search</code>, <code>replace</code></td><td style="text-align:left;">String</td><td style="text-align:left;">replace(string, search, replace)</td></tr><tr><td style="text-align:left;"><code>substring</code></td><td style="text-align:left;">Extracts a substring from <code>start_index</code> to the end of the string. <strong>Notes:</strong> - <code>start_index</code> starts at <code>1</code>. - Returns <code>NULL</code> if input is <code>NULL</code>. - Throws an error if <code>start_index</code> is greater than string length.</td><td style="text-align:left;"><code>string</code>, <code>start_index</code></td><td style="text-align:left;">String</td><td style="text-align:left;">substring(string from start_index)or substring(string, start_index)</td></tr><tr><td style="text-align:left;"><code>substring</code></td><td style="text-align:left;">Extracts a substring of <code>length</code> characters starting from <code>start_index</code>. <strong>Notes:</strong> - <code>start_index</code> starts at <code>1</code>. - Returns <code>NULL</code> if input is <code>NULL</code>. - Throws an error if <code>start_index</code> is greater than string length. - Throws an error if <code>length</code> is negative. - If <code>start_index + length</code> exceeds <code>int.MAX</code>, an overflow error may occur.</td><td style="text-align:left;"><code>string</code>, <code>start_index</code>, <code>length</code></td><td style="text-align:left;">String</td><td style="text-align:left;">substring(string from start_index for length) or substring(string, start_index, length)</td></tr></tbody></table><h2 id="_10-pattern-matching-functions" tabindex="-1"><a class="header-anchor" href="#_10-pattern-matching-functions"><span>10. Pattern Matching Functions</span></a></h2><h3 id="_10-1-like" tabindex="-1"><a class="header-anchor" href="#_10-1-like"><span>10.1 LIKE</span></a></h3><h4 id="_10-1-1-usage" tabindex="-1"><a class="header-anchor" href="#_10-1-1-usage"><span>10.1.1 Usage</span></a></h4><p>The <code>LIKE </code>operator is used to compare a value with a pattern. It is commonly used in the <code>WHERE </code>clause to match specific patterns within strings.</p><h4 id="_10-1-2-syntax" tabindex="-1"><a class="header-anchor" href="#_10-1-2-syntax"><span>10.1.2 Syntax</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">... column </span><span style="color:#E06C75;">[NOT]</span><span style="color:#C678DD;"> LIKE</span><span style="color:#98C379;"> 'pattern'</span><span style="color:#ABB2BF;"> ESCAPE </span><span style="color:#98C379;">'character'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_10-1-3-match-rules" tabindex="-1"><a class="header-anchor" href="#_10-1-3-match-rules"><span>10.1.3 Match rules</span></a></h4><ul><li>Matching characters is case-sensitive</li><li>The pattern supports two wildcard characters: <ul><li><code>_</code> matches any single character</li><li><code>%</code> matches zero or more characters</li></ul></li></ul><h4 id="_10-1-4-notes" tabindex="-1"><a class="header-anchor" href="#_10-1-4-notes"><span>10.1.4 Notes</span></a></h4><ul><li><code>LIKE</code> pattern matching applies to the entire string by default. Therefore, if it's desired to match a sequence anywhere within a string, the pattern must start and end with a percent sign.</li><li>To match the escape character itself, double it (e.g., <code>\\</code> to match <code>\</code>). For example, you can use <code>\\</code> to match for <code>\</code>.</li></ul><h4 id="_10-1-5-examples" tabindex="-1"><a class="header-anchor" href="#_10-1-5-examples"><span>10.1.5 Examples</span></a></h4><h4 id="example-1-match-strings-starting-with-a-specific-character" tabindex="-1"><a class="header-anchor" href="#example-1-match-strings-starting-with-a-specific-character"><span><strong>Example 1: Match Strings Starting with a Specific Character</strong></span></a></h4><ul><li><strong>Description:</strong> Find all names that start with the letter <code>E</code> (e.g., <code>Europe</code>).</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> continent </span><span style="color:#C678DD;">LIKE</span><span style="color:#98C379;"> 'E%'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="example-2-exclude-a-specific-pattern" tabindex="-1"><a class="header-anchor" href="#example-2-exclude-a-specific-pattern"><span><strong>Example 2: Exclude a Specific Pattern</strong></span></a></h4><ul><li><strong>Description:</strong> Find all names that do <strong>not</strong> start with the letter <code>E</code>.</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> continent </span><span style="color:#C678DD;">NOT</span><span style="color:#C678DD;"> LIKE</span><span style="color:#98C379;"> 'E%'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="example-3-match-strings-of-a-specific-length" tabindex="-1"><a class="header-anchor" href="#example-3-match-strings-of-a-specific-length"><span><strong>Example 3: Match Strings of a Specific Length</strong></span></a></h4><ul><li><strong>Description:</strong> Find all names that start with <code>A</code>, end with <code>a</code>, and have exactly two characters in between (e.g., <code>Asia</code>).</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> continent </span><span style="color:#C678DD;">LIKE</span><span style="color:#98C379;"> 'A__a'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="example-4-escape-special-characters" tabindex="-1"><a class="header-anchor" href="#example-4-escape-special-characters"><span><strong>Example 4: Escape Special Characters</strong></span></a></h4><ul><li><strong>Description:</strong> Find all names that start with <code>South_</code> (e.g., <code>South_America</code>). The underscore (<code>_</code>) is a wildcard character, so it needs to be escaped using <code>\</code>.</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> continent </span><span style="color:#C678DD;">LIKE</span><span style="color:#98C379;"> 'South\_%'</span><span style="color:#ABB2BF;"> ESCAPE </span><span style="color:#98C379;">'\'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="example-5-match-the-escape-character-itself" tabindex="-1"><a class="header-anchor" href="#example-5-match-the-escape-character-itself"><span><strong>Example 5: Match the Escape Character Itself</strong></span></a></h4><ul><li><strong>Description:</strong> Find all names that start with 'South'. Since <code>\</code> is the escape character, it must be escaped using <code>\\</code>.</li></ul><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> table1 </span><span style="color:#C678DD;">WHERE</span><span style="color:#ABB2BF;"> continent </span><span style="color:#C678DD;">LIKE</span><span style="color:#98C379;"> 'South\\%'</span><span style="color:#ABB2BF;"> ESCAPE </span><span style="color:#98C379;">'\'</span><span style="color:#ABB2BF;">;</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h3 id="_10-2-regexp-like" tabindex="-1"><a class="header-anchor" href="#_10-2-regexp-like"><span>10.2 regexp_like</span></a></h3><h4 id="_10-2-1-usage" tabindex="-1"><a class="header-anchor" href="#_10-2-1-usage"><span>10.2.1 Usage</span></a></h4><p>Evaluates whether the regular expression pattern is present within the given string.</p><h4 id="_10-2-2-syntax" tabindex="-1"><a class="header-anchor" href="#_10-2-2-syntax"><span>10.2.2 Syntax</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">regexp_like(string, pattern);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_10-2-3-notes" tabindex="-1"><a class="header-anchor" href="#_10-2-3-notes"><span>10.2.3 Notes</span></a></h4><ul><li>The pattern for <code>regexp_like</code> only needs to be contained within the string, and does not need to match the entire string.</li><li>To match the entire string, use the <code>^</code> and <code>$</code> anchors.</li><li><code>^</code> signifies the "start of the string," and <code>$</code> signifies the "end of the string."</li><li>Regular expressions use the Java-defined regular syntax, but there are the following exceptions to be aware of: <ul><li>Multiline mode <ol><li>Enabled by: <code>(?m)</code>.</li><li>Recognizes only <code>\n</code> as the line terminator.</li><li>Does not support the <code>(?d)</code> flag, and its use is prohibited.</li></ol></li><li>Case-insensitive matching <ol><li>Enabled by: <code>(?i)</code>.</li><li>Based on Unicode rules, it does not support context-dependent and localized matching.</li><li>Does not support the <code>(?u)</code> flag, and its use is prohibited.</li></ol></li><li>Character classes <ol><li>Within character classes (e.g., <code>[A-Z123]</code>), <code>\Q</code> and <code>\E</code> are not supported and are treated as literals.</li></ol></li><li>Unicode character classes (<code>\p{prop}</code>) <ol><li>Underscores in names: All underscores in names must be removed (e.g., <code>OldItalic </code>instead of <code>Old_Italic</code>).</li><li>Scripts: Specify directly, without the need for <code>Is</code>, <code>script=</code>, or <code>sc=</code> prefixes (e.g., <code>\p{Hiragana}</code>).</li><li>Blocks: Must use the <code>In</code> prefix, <code>block=</code> or <code>blk=</code> prefixes are not supported (e.g., <code>\p{InMongolian}</code>).</li><li>Categories: Specify directly, without the need for <code>Is</code>, <code>general_category=</code>, or <code>gc=</code> prefixes (e.g., <code>\p{L}</code>).</li><li>Binary properties: Specify directly, without <code>Is</code> (e.g., <code>\p{NoncharacterCodePoint}</code>).</li></ol></li></ul></li></ul><h4 id="_10-2-4-examples" tabindex="-1"><a class="header-anchor" href="#_10-2-4-examples"><span>10.2.4 Examples</span></a></h4><h4 id="example-1-matching-strings-containing-a-specific-pattern" tabindex="-1"><a class="header-anchor" href="#example-1-matching-strings-containing-a-specific-pattern"><span>Example 1: <strong>Matching strings containing a specific pattern</strong></span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> regexp_like(</span><span style="color:#98C379;">'1a 2b 14m'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'\\d+b'</span><span style="color:#ABB2BF;">); </span><span style="color:#7F848E;font-style:italic;">-- true</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><strong>Explanation</strong>: Determines whether the string '1a 2b 14m' contains a substring that matches the pattern <code>\d+b</code>. <ul><li><code>\d+</code> means "one or more digits".</li><li><code>b</code> represents the letter b.</li><li>In <code>'1a 2b 14m'</code>, the substring <code>'2b'</code> matches this pattern, so it returns <code>true</code>.</li></ul></li></ul><h4 id="example-2-matching-the-entire-string" tabindex="-1"><a class="header-anchor" href="#example-2-matching-the-entire-string"><span><strong>Example 2: Matching the entire string</strong></span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SELECT</span><span style="color:#ABB2BF;"> regexp_like(</span><span style="color:#98C379;">'1a 2b 14m'</span><span style="color:#ABB2BF;">, </span><span style="color:#98C379;">'^\\d+b$'</span><span style="color:#ABB2BF;">); </span><span style="color:#7F848E;font-style:italic;">-- false</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ul><li><strong>Explanation</strong>: Checks if the string <code>'1a 2b 14m'</code> matches the pattern <code>^\\d+b$</code> exactly. <ul><li><code>\d+</code> means "one or more digits".</li><li><code>b</code> represents the letter b.</li><li><code>'1a 2b 14m'</code> does not match this pattern because it does not start with digits and does not end with <code>b</code>, so it returns <code>false</code>.</li></ul></li></ul><h2 id="_11-timeseries-windowing-functions" tabindex="-1"><a class="header-anchor" href="#_11-timeseries-windowing-functions"><span>11. Timeseries Windowing Functions</span></a></h2><p>The sample data is as follows:</p><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> bid;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Create table statement</span></span> |
| <span class="line"><span style="color:#C678DD;">CREATE</span><span style="color:#C678DD;"> TABLE</span><span style="color:#61AFEF;"> bid</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#C678DD;"> TIMESTAMP</span><span style="color:#C678DD;"> TIME</span><span style="color:#ABB2BF;">, stock_id STRING TAG, price </span><span style="color:#C678DD;">FLOAT</span><span style="color:#ABB2BF;"> FIELD);</span></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Insert data</span></span> |
| <span class="line"><span style="color:#C678DD;">INSERT INTO</span><span style="color:#ABB2BF;"> bid(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">, stock_id, price) </span><span style="color:#C678DD;">VALUES</span><span style="color:#ABB2BF;">(</span><span style="color:#98C379;">'2021-01-01T09:05:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'AAPL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">),(</span><span style="color:#98C379;">'2021-01-01T09:06:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'TESL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">),(</span><span style="color:#98C379;">'2021-01-01T09:07:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'AAPL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">),(</span><span style="color:#98C379;">'2021-01-01T09:07:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'TESL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">),(</span><span style="color:#98C379;">'2021-01-01T09:09:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'AAPL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">),(</span><span style="color:#98C379;">'2021-01-01T09:15:00'</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">'TESL'</span><span style="color:#ABB2BF;">,</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">);</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-1-hop" tabindex="-1"><a class="header-anchor" href="#_11-1-hop"><span>11.1 HOP</span></a></h3><h4 id="_11-1-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-1-1-function-description"><span>11.1.1 Function Description</span></a></h4><p>The HOP function segments data into overlapping time windows for analysis, assigning each row to all windows that overlap with its timestamp. If windows overlap (when SLIDE < SIZE), data will be duplicated across multiple windows.</p><h4 id="_11-1-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-1-2-function-definition"><span>11.1.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">HOP(</span><span style="color:#C678DD;">data</span><span style="color:#ABB2BF;">, timecol, </span><span style="color:#C678DD;">size</span><span style="color:#ABB2BF;">, slide</span><span style="color:#E06C75;">[, origin]</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-1-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-1-3-parameter-description"><span>11.1.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>ROW SEMANTIC, PASS THROUGH</td><td>Input table</td></tr><tr><td>TIMECOL</td><td>Scalar</td><td>String (default: 'time')</td><td>Time column</td></tr><tr><td>SIZE</td><td>Scalar</td><td>Long integer</td><td>Window size</td></tr><tr><td>SLIDE</td><td>Scalar</td><td>Long integer</td><td>Sliding step</td></tr><tr><td>ORIGIN</td><td>Scalar</td><td>Timestamp (default: Unix epoch)</td><td>First window start time</td></tr></tbody></table><h4 id="_11-1-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-1-4-returned-results"><span>11.1.4 Returned Results</span></a></h4><p>The HOP function returns:</p><ul><li><code>window_start</code>: Window start time (inclusive)</li><li><code>window_end</code>: Window end time (exclusive)</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-1-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-1-5-usage-example"><span>11.1.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> HOP(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,SLIDE </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 5m,</span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">25</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY TIME when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> HOP(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,SLIDE </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 5m,</span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">25</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">66666666666667</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">66666666666667</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-2-session" tabindex="-1"><a class="header-anchor" href="#_11-2-session"><span>11.2 SESSION</span></a></h3><h4 id="_11-2-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-2-1-function-description"><span>11.2.1 Function Description</span></a></h4><p>The SESSION function groups data into sessions based on time intervals. It checks the time gap between consecutive rows—rows with gaps smaller than the threshold (GAP) are grouped into the current window, while larger gaps trigger a new window.</p><h4 id="_11-2-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-2-2-function-definition"><span>11.2.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#C678DD;">SESSION</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">data</span><span style="color:#E06C75;"> [PARTITION BY(pkeys, ...)]</span><span style="color:#E06C75;"> [ORDER BY(okeys, ...)]</span><span style="color:#ABB2BF;">, timecol, gap)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-2-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-2-3-parameter-description"><span>11.2.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>SET SEMANTIC, PASS THROUGH</td><td>Input table with partition/sort keys</td></tr><tr><td>TIMECOL</td><td>Scalar</td><td>String (default: 'time')</td><td>Time column name</td></tr><tr><td>GAP</td><td>Scalar</td><td>Long integer</td><td>Session gap threshold</td></tr></tbody></table><h4 id="_11-2-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-2-4-returned-results"><span>11.2.4 Returned Results</span></a></h4><p>The SESSION function returns:</p><ul><li><code>window_start</code>: Time of the first row in the session</li><li><code>window_end</code>: Time of the last row in the session</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-2-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-2-5-usage-example"><span>11.2.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#C678DD;"> SESSION</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,GAP </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 2m);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY SESSION when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#C678DD;"> SESSION</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,GAP </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 2m) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">66666666666667</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-3-variation" tabindex="-1"><a class="header-anchor" href="#_11-3-variation"><span>11.3 VARIATION</span></a></h3><h4 id="_11-3-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-3-1-function-description"><span>11.3.1 Function Description</span></a></h4><p>The VARIATION function groups data based on value differences. The first row becomes the baseline for the first window. Subsequent rows are compared to the baseline—if the difference is within the threshold (DELTA), they join the current window; otherwise, a new window starts with that row as the new baseline.</p><h4 id="_11-3-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-3-2-function-definition"><span>11.3.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">VARIATION(</span><span style="color:#C678DD;">data</span><span style="color:#E06C75;"> [PARTITION BY(pkeys, ...)]</span><span style="color:#E06C75;"> [ORDER BY(okeys, ...)]</span><span style="color:#ABB2BF;">, col, delta)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-3-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-3-3-parameter-description"><span>11.3.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>SET SEMANTIC, PASS THROUGH</td><td>Input table with partition/sort keys</td></tr><tr><td>COL</td><td>Scalar</td><td>String</td><td>Column for difference calculation</td></tr><tr><td>DELTA</td><td>Scalar</td><td>Float</td><td>Difference threshold</td></tr></tbody></table><h4 id="_11-3-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-3-4-returned-results"><span>11.3.4 Returned Results</span></a></h4><p>The VARIATION function returns:</p><ul><li><code>window_index</code>: Window identifier</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-3-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-3-5-usage-example"><span>11.3.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> VARIATION(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,COL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'price'</span><span style="color:#ABB2BF;">,DELTA </span><span style="color:#56B6C2;">=></span><span style="color:#D19A66;"> 2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|window_index| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY VARIATION when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#C678DD;"> first</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> window_start, </span><span style="color:#C678DD;">last</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> window_end, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> VARIATION(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">,COL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'price'</span><span style="color:#ABB2BF;">, DELTA </span><span style="color:#56B6C2;">=></span><span style="color:#D19A66;"> 2</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_index, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">5</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-4-capacity" tabindex="-1"><a class="header-anchor" href="#_11-4-capacity"><span>11.4 CAPACITY</span></a></h3><h4 id="_11-4-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-4-1-function-description"><span>11.4.1 Function Description</span></a></h4><p>The CAPACITY function groups data into fixed-size windows, where each window contains up to SIZE rows.</p><h4 id="_11-4-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-4-2-function-definition"><span>11.4.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">CAPACITY(</span><span style="color:#C678DD;">data</span><span style="color:#E06C75;"> [PARTITION BY(pkeys, ...)]</span><span style="color:#E06C75;"> [ORDER BY(okeys, ...)]</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">size</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-4-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-4-3-parameter-description"><span>11.4.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>SET SEMANTIC, PASS THROUGH</td><td>Input table with partition/sort keys</td></tr><tr><td>SIZE</td><td>Scalar</td><td>Long integer</td><td>Window size (row count)</td></tr></tbody></table><h4 id="_11-4-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-4-4-returned-results"><span>11.4.4 Returned Results</span></a></h4><p>The CAPACITY function returns:</p><ul><li><code>window_index</code>: Window identifier</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-4-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-4-5-usage-example"><span>11.4.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> CAPACITY(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#D19A66;"> 2</span><span style="color:#ABB2BF;">);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|window_index| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| </span><span style="color:#D19A66;">1</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY COUNT when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#C678DD;"> first</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> start_time, </span><span style="color:#C678DD;">last</span><span style="color:#ABB2BF;">(</span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> end_time, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> CAPACITY(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid </span><span style="color:#C678DD;">PARTITION</span><span style="color:#C678DD;"> BY</span><span style="color:#ABB2BF;"> stock_id </span><span style="color:#C678DD;">ORDER BY</span><span style="color:#C678DD;"> time</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#D19A66;"> 2</span><span style="color:#ABB2BF;">) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_index, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| start_time| end_time|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">5</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+-----+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-5-tumble" tabindex="-1"><a class="header-anchor" href="#_11-5-tumble"><span>11.5 TUMBLE</span></a></h3><h4 id="_11-5-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-5-1-function-description"><span>11.5.1 Function Description</span></a></h4><p>The TUMBLE function assigns each row to a non-overlapping, fixed-size time window based on a timestamp attribute.</p><h4 id="_11-5-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-5-2-function-definition"><span>11.5.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">TUMBLE(</span><span style="color:#C678DD;">data</span><span style="color:#ABB2BF;">, timecol, </span><span style="color:#C678DD;">size</span><span style="color:#E06C75;">[, origin]</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-5-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-5-3-parameter-description"><span>11.5.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>ROW SEMANTIC, PASS THROUGH</td><td>Input table</td></tr><tr><td>TIMECOL</td><td>Scalar</td><td>String (default: 'time')</td><td>Time column</td></tr><tr><td>SIZE</td><td>Scalar</td><td>Long integer (positive)</td><td>Window size</td></tr><tr><td>ORIGIN</td><td>Scalar</td><td>Timestamp (default: Unix epoch)</td><td>First window start time</td></tr></tbody></table><h4 id="_11-5-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-5-4-returned-results"><span>11.5.4 Returned Results</span></a></h4><p>The TUMBLE function returns:</p><ul><li><code>window_start</code>: Window start time (inclusive)</li><li><code>window_end</code>: Window end time (exclusive)</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-5-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-5-5-usage-example"><span>11.5.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> TUMBLE( </span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid, TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY TIME when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> TUMBLE(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid, TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">, </span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">66666666666667</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_11-6-cumulate" tabindex="-1"><a class="header-anchor" href="#_11-6-cumulate"><span>11.6 CUMULATE</span></a></h3><h4 id="_11-6-1-function-description" tabindex="-1"><a class="header-anchor" href="#_11-6-1-function-description"><span>11.6.1 Function Description</span></a></h4><p>The CUMULATE function creates expanding windows from an initial window, maintaining the same start time while incrementally extending the end time by STEP until reaching SIZE. Each window contains all elements within its range. For example, with a 1-hour STEP and 24-hour SIZE, daily windows would be: <code>[00:00, 01:00)</code>, <code>[00:00, 02:00)</code>, ..., <code>[00:00, 24:00)</code>.</p><h4 id="_11-6-2-function-definition" tabindex="-1"><a class="header-anchor" href="#_11-6-2-function-definition"><span>11.6.2 Function Definition</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">CUMULATE(</span><span style="color:#C678DD;">data</span><span style="color:#ABB2BF;">, timecol, </span><span style="color:#C678DD;">size</span><span style="color:#ABB2BF;">, step</span><span style="color:#E06C75;">[, origin]</span><span style="color:#ABB2BF;">)</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><h4 id="_11-6-3-parameter-description" tabindex="-1"><a class="header-anchor" href="#_11-6-3-parameter-description"><span>11.6.3 Parameter Description</span></a></h4><table><thead><tr><th>Parameter</th><th>Type</th><th>Attributes</th><th>Description</th></tr></thead><tbody><tr><td>DATA</td><td>Table</td><td>ROW SEMANTIC, PASS THROUGH</td><td>Input table</td></tr><tr><td>TIMECOL</td><td>Scalar</td><td>String (default: 'time')</td><td>Time column</td></tr><tr><td>SIZE</td><td>Scalar</td><td>Long integer (positive)</td><td>Window size (must be an integer multiple of STEP)</td></tr><tr><td>STEP</td><td>Scalar</td><td>Long integer (positive)</td><td>Expansion step</td></tr><tr><td>ORIGIN</td><td>Scalar</td><td>Timestamp (default: Unix epoch)</td><td>First window start time</td></tr></tbody></table><blockquote><p>Note: An error <code>Cumulative table function requires size must be an integral multiple of step</code> occurs if SIZE is not divisible by STEP.</p></blockquote><h4 id="_11-6-4-returned-results" tabindex="-1"><a class="header-anchor" href="#_11-6-4-returned-results"><span>11.6.4 Returned Results</span></a></h4><p>The CUMULATE function returns:</p><ul><li><code>window_start</code>: Window start time (inclusive)</li><li><code>window_end</code>: Window end time (exclusive)</li><li>Pass-through columns: All input columns from DATA</li></ul><h4 id="_11-6-5-usage-example" tabindex="-1"><a class="header-anchor" href="#_11-6-5-usage-example"><span>11.6.5 Usage Example</span></a></h4><div class="language-sql line-numbers-mode" data-highlighter="shiki" data-ext="sql" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code class="language-sql"><span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> * </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> CUMULATE(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,STEP </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 2m,</span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m);</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end| </span><span style="color:#C678DD;">time</span><span style="color:#ABB2BF;">|stock_id|price|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">200</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">202</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">16</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">18</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">15</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL|</span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">05</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">07</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">103</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">09</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">102</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+-----------------------------+--------+-----+</span></span> |
| <span class="line"></span> |
| <span class="line"><span style="color:#7F848E;font-style:italic;">-- Equivalent to tree mode's GROUP BY TIME when combined with GROUP BY</span></span> |
| <span class="line"><span style="color:#ABB2BF;">IoTDB</span><span style="color:#56B6C2;">></span><span style="color:#C678DD;"> SELECT</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id, </span><span style="color:#56B6C2;">avg</span><span style="color:#ABB2BF;">(price) </span><span style="color:#C678DD;">as</span><span style="color:#ABB2BF;"> avg </span><span style="color:#C678DD;">FROM</span><span style="color:#ABB2BF;"> CUMULATE(</span><span style="color:#C678DD;">DATA</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> bid,TIMECOL </span><span style="color:#56B6C2;">=></span><span style="color:#98C379;"> 'time'</span><span style="color:#ABB2BF;">,STEP </span><span style="color:#56B6C2;">=></span><span style="color:#ABB2BF;"> 2m, </span><span style="color:#C678DD;">SIZE</span><span style="color:#56B6C2;"> =></span><span style="color:#ABB2BF;"> 10m) </span><span style="color:#C678DD;">GROUP BY</span><span style="color:#ABB2BF;"> window_start, window_end, stock_id;</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">| window_start| window_end|stock_id| avg|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">201</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">16</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">18</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">20</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| TESL| </span><span style="color:#D19A66;">195</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">06</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL| </span><span style="color:#D19A66;">100</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">0</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL| </span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">5</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">|</span><span style="color:#D19A66;">2021</span><span style="color:#ABB2BF;">-</span><span style="color:#D19A66;">01</span><span style="color:#ABB2BF;">-01T09:</span><span style="color:#D19A66;">10</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">000</span><span style="color:#ABB2BF;">+</span><span style="color:#D19A66;">08</span><span style="color:#ABB2BF;">:</span><span style="color:#D19A66;">00</span><span style="color:#ABB2BF;">| AAPL|</span><span style="color:#D19A66;">101</span><span style="color:#ABB2BF;">.</span><span style="color:#D19A66;">66666666666667</span><span style="color:#ABB2BF;">|</span></span> |
| <span class="line"><span style="color:#ABB2BF;">+</span><span style="color:#7F848E;font-style:italic;">-----------------------------+-----------------------------+--------+------------------+</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></div><!----><!----><!----></div><footer class="vp-page-meta"><div class="vp-meta-item edit-link"><a class="auto-link external-link vp-meta-label" href="https://github.com/apache/iotdb-docs/edit/main/src/UserGuide/latest-Table/SQL-Manual/Basis-Function_apache.md" aria-label="Found Error? Edit this page on GitHub" rel="noopener noreferrer" target="_blank"><!--[--><svg xmlns="http://www.w3.org/2000/svg" class="icon edit-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="edit icon" name="edit"><path d="M430.818 653.65a60.46 60.46 0 0 1-50.96-93.281l71.69-114.012 7.773-10.365L816.038 80.138A60.46 60.46 0 0 1 859.225 62a60.46 60.46 0 0 1 43.186 18.138l43.186 43.186a60.46 60.46 0 0 1 0 86.373L588.879 565.55l-8.637 8.637-117.466 68.234a60.46 60.46 0 0 1-31.958 11.229z"></path><path d="M728.802 962H252.891A190.883 190.883 0 0 1 62.008 771.98V296.934a190.883 190.883 0 0 1 190.883-192.61h267.754a60.46 60.46 0 0 1 0 120.92H252.891a69.962 69.962 0 0 0-69.098 69.099V771.98a69.962 69.962 0 0 0 69.098 69.098h475.911A69.962 69.962 0 0 0 797.9 771.98V503.363a60.46 60.46 0 1 1 120.922 0V771.98A190.883 190.883 0 0 1 728.802 962z"></path></svg><!--]-->Found Error? Edit this page on GitHub<!----></a></div><div class="vp-meta-item git-info"><div class="update-time"><span class="vp-meta-label">Last Updated: </span><time class="vp-meta-info" datetime="2026-04-15T10:39:00.000Z" data-allow-mismatch>4/15/26, 10:39 AM</time></div><!----></div></footer><nav class="vp-page-nav"><!----><a class="route-link auto-link next" href="/UserGuide/latest-Table/SQL-Manual/Featured-Functions_apache.html" aria-label="Featured Functions"><div class="hint">Next<span class="arrow end"></span></div><div class="link">Featured Functions<!----></div></a></nav><!----><!----><!--]--></main><!--]--><footer class="site-footer"><span id="doc-version" style="display:none;">latest-Table</span><p class="copyright-text">Copyright © 2026 The Apache Software Foundation. |
| Apache IoTDB, IoTDB, Apache, the Apache feather logo, and the Apache IoTDB project logo are either registered trademarks or trademarks of The Apache Software Foundation in all countries</p><p style="text-align:center;margin-top:10px;color:#909399;font-size:12px;margin:0 30px;"><strong>Having questions?</strong> Connect with us on QQ, WeChat, or Slack. <a href="https://github.com/apache/iotdb/issues/1995">Join the community</a></p></footer></div><!--]--><!--]--><!--[--><!----><!--]--><!--]--></div> |
| <script type="module" src="/assets/app-C4FS647M.js" defer></script> |
| </body> |
| </html> |