doc-exports/docs/dws/dev/dws_06_0335.html
Lu, Huayi e6fa411af0 DWS DEV 830.201 version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Lu, Huayi <luhuayi@huawei.com>
Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
2024-05-16 07:24:04 +00:00

125 lines
12 KiB
HTML

<a name="EN-US_TOPIC_0000001495702129"></a><a name="EN-US_TOPIC_0000001495702129"></a>
<h1 class="topictitle1">Range Functions</h1>
<div id="body0000001495702129"><div class="section" id="EN-US_TOPIC_0000001495702129__section4218185623320"><h4 class="sectiontitle">lower(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p1021565613339">Description: Lower bound of range</p>
<p id="EN-US_TOPIC_0000001495702129__p1821565633311">Return type: Range's element type</p>
<p id="EN-US_TOPIC_0000001495702129__p10215175673318">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen11215115612332"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">lower</span><span class="p">(</span><span class="n">numrange</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section10831236343"><h4 class="sectiontitle">upper(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p178015315349">Description: Upper bound of range</p>
<p id="EN-US_TOPIC_0000001495702129__p1680438347">Return type: Range's element type</p>
<p id="EN-US_TOPIC_0000001495702129__p8801536346">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen17801317347"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">upper</span><span class="p">(</span><span class="n">numrange</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section52405643419"><h4 class="sectiontitle">isempty(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p1223719643417">Description: Is the range empty?</p>
<p id="EN-US_TOPIC_0000001495702129__p102376643410">Return type: <span id="EN-US_TOPIC_0000001495702129__text02374617344">boolean</span></p>
<p id="EN-US_TOPIC_0000001495702129__p142381612341">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen1423814653418"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">isempty</span><span class="p">(</span><span class="n">numrange</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="n">f</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section19905992346"><a name="EN-US_TOPIC_0000001495702129__section19905992346"></a><a name="section19905992346"></a><h4 class="sectiontitle">lower_inc(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p69031913414">Description: Is the lower bound inclusive?</p>
<p id="EN-US_TOPIC_0000001495702129__p1590499193418">Return type: <span id="EN-US_TOPIC_0000001495702129__text1090415915346">boolean</span></p>
<p id="EN-US_TOPIC_0000001495702129__p17904692346">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen1790412913349"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">lower_inc</span><span class="p">(</span><span class="n">numrange</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="n">t</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section1084113120348"><h4 class="sectiontitle">upper_inc(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p4840161253413">Description: Is the upper bound inclusive?</p>
<p id="EN-US_TOPIC_0000001495702129__p198401012173420">Return type: <span id="EN-US_TOPIC_0000001495702129__text16840101283418">boolean</span></p>
<p id="EN-US_TOPIC_0000001495702129__p1884001220347">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen198409124341"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">upper_inc</span><span class="p">(</span><span class="n">numrange</span><span class="p">(</span><span class="mi">1</span><span class="p">.</span><span class="mi">1</span><span class="p">,</span><span class="mi">2</span><span class="p">.</span><span class="mi">2</span><span class="p">))</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="n">f</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section3663181517345"><a name="EN-US_TOPIC_0000001495702129__section3663181517345"></a><a name="section3663181517345"></a><h4 class="sectiontitle">lower_inf(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p766261553419">Description: Is the lower bound infinite?</p>
<p id="EN-US_TOPIC_0000001495702129__p56625156340">Return type: <span id="EN-US_TOPIC_0000001495702129__text6662515103412">boolean</span></p>
<p id="EN-US_TOPIC_0000001495702129__p156621415153418">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen266221510349"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">lower_inf</span><span class="p">(</span><span class="s1">'(,)'</span><span class="p">::</span><span class="n">daterange</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="n">t</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="EN-US_TOPIC_0000001495702129__section1578181883411"><a name="EN-US_TOPIC_0000001495702129__section1578181883411"></a><a name="section1578181883411"></a><h4 class="sectiontitle">upper_inf(anyrange)</h4><p id="EN-US_TOPIC_0000001495702129__p14577181823413">Description: Is the upper bound infinite?</p>
<p id="EN-US_TOPIC_0000001495702129__p7577518163415">Return type: <span id="EN-US_TOPIC_0000001495702129__text14577718143411">boolean</span></p>
<p id="EN-US_TOPIC_0000001495702129__p105771818143419">Example:</p>
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001495702129__screen1357821823415"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
<span class="normal">2</span>
<span class="normal">3</span>
<span class="normal">4</span>
<span class="normal">5</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="n">upper_inf</span><span class="p">(</span><span class="s1">'(,)'</span><span class="p">::</span><span class="n">daterange</span><span class="p">)</span><span class="w"> </span><span class="k">AS</span><span class="w"> </span><span class="k">RESULT</span><span class="p">;</span>
<span class="w"> </span><span class="k">result</span><span class="w"> </span>
<span class="c1">--------</span>
<span class="w"> </span><span class="n">t</span>
<span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="k">row</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="note" id="EN-US_TOPIC_0000001495702129__note33055277348"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001495702129__p3578171813343">The <strong id="EN-US_TOPIC_0000001495702129__b205487050293728">lower</strong> and <strong id="EN-US_TOPIC_0000001495702129__b104676653093728">upper</strong> functions return null if the range is empty or the requested bound is infinite. The <strong id="EN-US_TOPIC_0000001495702129__b190781899493728">lower_inc</strong>, <strong id="EN-US_TOPIC_0000001495702129__b35375424493728">upper_inc</strong>, <strong id="EN-US_TOPIC_0000001495702129__b93376926693728">lower_inf</strong>, and <strong id="EN-US_TOPIC_0000001495702129__b176386358693728">upper_inf</strong> functions all return false for an empty range.</p>
</div></div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0045.html">Range Functions and Operators</a></div>
</div>
</div>