forked from docs/doc-exports
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>
257 lines
33 KiB
HTML
257 lines
33 KiB
HTML
<a name="EN-US_TOPIC_0000001188588974"></a><a name="EN-US_TOPIC_0000001188588974"></a>
|
|
|
|
<h1 class="topictitle1">Conditional Expression Functions</h1>
|
|
<div id="body8662426"><div class="section" id="EN-US_TOPIC_0000001188588974__section4950163914713"><h4 class="sectiontitle">coalesce(expr1, expr2, ..., exprn)</h4><p id="EN-US_TOPIC_0000001188588974__p19942639124715">Description: Returns the first argument that is not <strong id="EN-US_TOPIC_0000001188588974__b535525934513">NULL</strong> in the argument list.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p10942239194711"><strong id="EN-US_TOPIC_0000001188588974__b200618155847">COALESCE(expr1, expr2)</strong> is equivalent to <strong id="EN-US_TOPIC_0000001188588974__b1805566155847">CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p189421339194718">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen894203964714"><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">coalesce</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="s1">'hello'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">coalesce</span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">hello</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 class="note" id="EN-US_TOPIC_0000001188588974__note1872155243720"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><ul id="EN-US_TOPIC_0000001188588974__ul3460195719377"><li id="EN-US_TOPIC_0000001188588974__li194601579371"><strong id="EN-US_TOPIC_0000001188588974__b10623726522010">NULL</strong> is returned only if all parameters are <strong id="EN-US_TOPIC_0000001188588974__b45061057622010">NULL</strong>.</li><li id="EN-US_TOPIC_0000001188588974__li1460657173712">This value is replaced by the default value when data is displayed.</li><li id="EN-US_TOPIC_0000001188588974__li346055763714">Like a CASE expression, COALESCE only evaluates the parameters that are needed to determine the result. That is, parameters to the right of the first non-null parameter are not evaluated.</li></ul>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section117684454710"><h4 class="sectiontitle">decode(base_expr, compare1, value1, Compare2,value2, ... default)</h4><p id="EN-US_TOPIC_0000001188588974__p19168204424712">Description: Compares base_expr with each compare(n) and returns value(n) if they are matched. If base_expr does not match each <strong id="EN-US_TOPIC_0000001188588974__b84235270611366">compare(n)</strong>, the default value is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p171681544124713">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen216894474719"><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">decode</span><span class="p">(</span><span class="s1">'A'</span><span class="p">,</span><span class="s1">'A'</span><span class="p">,</span><span class="mi">1</span><span class="p">,</span><span class="s1">'B'</span><span class="p">,</span><span class="mi">2</span><span class="p">,</span><span class="mi">0</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">case</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="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_0000001188588974__section4585134712476"><h4 class="sectiontitle">if(bool_expr, expr1, expr2)</h4><p id="EN-US_TOPIC_0000001188588974__p17576154774712">Description: Returns <strong id="EN-US_TOPIC_0000001188588974__b12923821356">expr1</strong> or <strong id="EN-US_TOPIC_0000001188588974__b6491911173513">expr2</strong>. If the value of <strong id="EN-US_TOPIC_0000001188588974__b17495639123315">bool_expr</strong> is <strong id="EN-US_TOPIC_0000001188588974__b164961239173319">true</strong>, <strong id="EN-US_TOPIC_0000001188588974__b4496839183311">expr1</strong> is returned. Otherwise, <strong id="EN-US_TOPIC_0000001188588974__b16497839103310">expr2</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p20576547144713">This function is equivalent to <strong id="EN-US_TOPIC_0000001188588974__b10377171343610">CASE WHEN bool_expr = true THEN expr1 ELSE expr2 END</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p2576847184716">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen11576547204717"><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">if</span><span class="p">(</span><span class="mi">1</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="s1">'yes'</span><span class="p">,</span><span class="w"> </span><span class="s1">'no'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">if</span>
|
|
<span class="c1">-----</span>
|
|
<span class="w"> </span><span class="n">yes</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 class="note" id="EN-US_TOPIC_0000001188588974__note438311122389"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188588974__p1987814173382"><strong id="EN-US_TOPIC_0000001188588974__b13659192474">expr1</strong> and <strong id="EN-US_TOPIC_0000001188588974__b46591997470">expr2</strong> can be of any type. For details about the available types, see <a href="dws_06_0080.html">UNION, CASE, and Related Constructs</a>.</p>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section9242152194710"><h4 class="sectiontitle">ifnull(expr1, expr2)</h4><p id="EN-US_TOPIC_0000001188588974__p22361752154712">Description: Returns <strong id="EN-US_TOPIC_0000001188588974__b1837055218393">expr1</strong> or <strong id="EN-US_TOPIC_0000001188588974__b1437065213392">expr2</strong>. If <strong id="EN-US_TOPIC_0000001188588974__b101920174012">expr1</strong> is not <strong id="EN-US_TOPIC_0000001188588974__b1899491916113">NULL</strong>, <strong id="EN-US_TOPIC_0000001188588974__b188301229114020">expr1</strong> is returned. Otherwise, <strong id="EN-US_TOPIC_0000001188588974__b1066715481405">expr2</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p1923613529471">This function is logically equivalent to <strong id="EN-US_TOPIC_0000001188588974__b73661334194112">CASE WHEN expr1 IS NOT NULL THEN expr1 ELSE expr2 END</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p1823625214715">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1237115212478"><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">ifnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">,</span><span class="s1">'hello'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">ifnull</span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="n">hello</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 class="note" id="EN-US_TOPIC_0000001188588974__note166432322381"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188588974__p15820133723814"><strong id="EN-US_TOPIC_0000001188588974__b1931618197474">expr1</strong> and <strong id="EN-US_TOPIC_0000001188588974__b16316151954712">expr2</strong> can be of any type. For details about the available types, see <a href="dws_06_0080.html">UNION, CASE, and Related Constructs</a>.</p>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section16332185515479"><h4 class="sectiontitle">isnull(expr)</h4><p id="EN-US_TOPIC_0000001188588974__p1332725514718">Description: Checks whether <strong id="EN-US_TOPIC_0000001188588974__b264454794218">expr</strong> is <strong id="EN-US_TOPIC_0000001188588974__b283825518118">NULL</strong>. If it is <strong id="EN-US_TOPIC_0000001188588974__b6503612126">NULL</strong>, <strong id="EN-US_TOPIC_0000001188588974__b156538454311">true</strong> is returned. Otherwise, <strong id="EN-US_TOPIC_0000001188588974__b1722131911437">false</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p143273555472">This function is logically equivalent to <strong id="EN-US_TOPIC_0000001188588974__b18647145114441">expr IS NULL</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p832775554713">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1632855554719"><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">isnull</span><span class="p">(</span><span class="k">NULL</span><span class="p">),</span><span class="w"> </span><span class="k">isnull</span><span class="p">(</span><span class="s1">'abc'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">isnull</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="k">isnull</span>
|
|
<span class="c1">--------+--------</span>
|
|
<span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">|</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_0000001188588974__section148285894716"><h4 class="sectiontitle">nullif(expr1, expr2)</h4><p id="EN-US_TOPIC_0000001188588974__p1147595815478">Description: Returns <strong id="EN-US_TOPIC_0000001188588974__b372895819441">NULL</strong> or <strong id="EN-US_TOPIC_0000001188588974__b9836132016455">expr1</strong>. If <strong id="EN-US_TOPIC_0000001188588974__b197343583440">expr1</strong> is equal to <strong id="EN-US_TOPIC_0000001188588974__b173595818445">expr2</strong>, <strong id="EN-US_TOPIC_0000001188588974__b627717470451">NULL</strong> is returned. Otherwise, <strong id="EN-US_TOPIC_0000001188588974__b87351258154412">expr1</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p5476758144720"><strong id="EN-US_TOPIC_0000001188588974__b842352706195558">nullif(expr1, expr2)</strong> is equivalent to <strong id="EN-US_TOPIC_0000001188588974__b84235270619561">CASE WHEN expr1 = expr2 THEN NULL ELSE expr1 END</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p134762058114714">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen84761158104717"><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">nullif</span><span class="p">(</span><span class="s1">'hello'</span><span class="p">,</span><span class="s1">'world'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">nullif</span><span class="w"> </span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="n">hello</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>
|
|
<p id="EN-US_TOPIC_0000001188588974__p147665814713">Note:</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p24761558134715">Assume the two parameter data types are different:</p>
|
|
<ul id="EN-US_TOPIC_0000001188588974__ul10477185810474"><li id="EN-US_TOPIC_0000001188588974__li3477358124717">If implicit conversion exists between the two data types, implicitly convert the parameter of lower priority to this data type using the data type of higher priority. If the conversion succeeds, computation is performed. Otherwise, an error is returned. For example:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen947610587475"><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">nullif</span><span class="p">(</span><span class="s1">'1234'</span><span class="p">::</span><span class="nb">VARCHAR</span><span class="p">,</span><span class="mi">123</span><span class="p">::</span><span class="n">INT4</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="k">nullif</span><span class="w"> </span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="mi">1234</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 class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen04777589477"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span>
|
|
<span class="normal">2</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">SELECT</span><span class="w"> </span><span class="k">nullif</span><span class="p">(</span><span class="s1">'1234'</span><span class="p">::</span><span class="nb">VARCHAR</span><span class="p">,</span><span class="s1">'2012-12-24'</span><span class="p">::</span><span class="nb">DATE</span><span class="p">);</span>
|
|
<span class="n">ERROR</span><span class="p">:</span><span class="w"> </span><span class="n">invalid</span><span class="w"> </span><span class="k">input</span><span class="w"> </span><span class="n">syntax</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="k">timestamp</span><span class="p">:</span><span class="w"> </span><span class="ss">"1234"</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li><li id="EN-US_TOPIC_0000001188588974__li13477175820477">If implicit conversion is not applied between two data types, an error is displayed. For example:<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen11477158154715"><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">nullif</span><span class="p">(</span><span class="k">TRUE</span><span class="p">::</span><span class="nb">BOOLEAN</span><span class="p">,</span><span class="s1">'2012-12-24'</span><span class="p">::</span><span class="nb">DATE</span><span class="p">);</span>
|
|
<span class="n">ERROR</span><span class="p">:</span><span class="w"> </span><span class="k">operator</span><span class="w"> </span><span class="n">does</span><span class="w"> </span><span class="k">not</span><span class="w"> </span><span class="n">exist</span><span class="p">:</span><span class="w"> </span><span class="nb">boolean</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">timestamp</span><span class="w"> </span><span class="k">without</span><span class="w"> </span><span class="k">time</span><span class="w"> </span><span class="k">zone</span>
|
|
<span class="n">LINE</span><span class="w"> </span><span class="mi">1</span><span class="p">:</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">nullif</span><span class="p">(</span><span class="k">TRUE</span><span class="p">::</span><span class="nb">BOOLEAN</span><span class="p">,</span><span class="s1">'2012-12-24'</span><span class="p">::</span><span class="nb">DATE</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">DUAL</span><span class="p">;</span>
|
|
<span class="o">^</span>
|
|
<span class="n">HINT</span><span class="p">:</span><span class="w"> </span><span class="k">No</span><span class="w"> </span><span class="k">operator</span><span class="w"> </span><span class="n">matches</span><span class="w"> </span><span class="n">the</span><span class="w"> </span><span class="n">given</span><span class="w"> </span><span class="n">name</span><span class="w"> </span><span class="k">and</span><span class="w"> </span><span class="n">argument</span><span class="w"> </span><span class="k">type</span><span class="p">(</span><span class="n">s</span><span class="p">).</span><span class="w"> </span><span class="n">You</span><span class="w"> </span><span class="n">might</span><span class="w"> </span><span class="n">need</span><span class="w"> </span><span class="k">to</span><span class="w"> </span><span class="k">add</span><span class="w"> </span><span class="n">explicit</span><span class="w"> </span><span class="k">type</span><span class="w"> </span><span class="n">casts</span><span class="p">.</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
</li></ul>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section983812613481"><h4 class="sectiontitle">nvl( expr1 , expr2 )</h4><p id="EN-US_TOPIC_0000001188588974__p1883414614813">Description: Returns <strong id="EN-US_TOPIC_0000001188588974__b3676550203816">expr2</strong> if <strong id="EN-US_TOPIC_0000001188588974__b1078175423813">expr1</strong> is <strong id="EN-US_TOPIC_0000001188588974__b8329105633814">NULL</strong>. If <strong id="EN-US_TOPIC_0000001188588974__b13021577109402">expr1</strong> is not <strong id="EN-US_TOPIC_0000001188588974__b1005567369402">NULL</strong>, <strong id="EN-US_TOPIC_0000001188588974__b686904379402">expr1</strong> is returned.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p18834268485">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen38351264487"><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">nvl</span><span class="p">(</span><span class="s1">'hello'</span><span class="p">,</span><span class="s1">'world'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">nvl</span><span class="w"> </span>
|
|
<span class="c1">-------</span>
|
|
<span class="w"> </span><span class="n">hello</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 class="note" id="EN-US_TOPIC_0000001188588974__note669212724114"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188588974__p20692827134111">Parameters <strong id="EN-US_TOPIC_0000001188588974__b17891735154715">expr1</strong> and <strong id="EN-US_TOPIC_0000001188588974__b1983274194718">expr2</strong> can be of any data type. If <strong id="EN-US_TOPIC_0000001188588974__b6318515482">expr1</strong> and <strong id="EN-US_TOPIC_0000001188588974__b144271589489">expr2</strong> are of different data types, NVL checks whether <strong id="EN-US_TOPIC_0000001188588974__b1940113132483">expr2</strong> can be implicitly converted to <strong id="EN-US_TOPIC_0000001188588974__b17875131713481">expr1</strong>. If it can, the <strong id="EN-US_TOPIC_0000001188588974__b6772422184812">expr1</strong> data type is returned. If <strong id="EN-US_TOPIC_0000001188588974__b133917912496">epr2</strong> cannot be implicitly converted to <strong id="EN-US_TOPIC_0000001188588974__b339131515493">expr1</strong> but <strong id="EN-US_TOPIC_0000001188588974__b19472132084912">epr1</strong> can be implicitly converted to <strong id="EN-US_TOPIC_0000001188588974__b15344526104918">expr2</strong>, the <strong id="EN-US_TOPIC_0000001188588974__b18033295499">expr2</strong> data type is returned. If no implicit type conversion exists between the two parameters and the parameters are different data types, an error is reported.</p>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section1091817984815"><h4 class="sectiontitle">sys_context( 'namespace' , 'parameter')</h4><p id="EN-US_TOPIC_0000001188588974__p89151393481">Description: Obtains and returns the parameter values of a specified <strong id="EN-US_TOPIC_0000001188588974__b17826312919402">namespace</strong>.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p191512912484">Return type: VARCHAR</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p09157984818">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen49151996485"><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">sys_context</span><span class="p">(</span><span class="s1">'USERENV'</span><span class="p">,</span><span class="w"> </span><span class="s1">'CURRENT_SCHEMA'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">sys_context</span><span class="w"> </span>
|
|
<span class="c1">-------------</span>
|
|
<span class="w"> </span><span class="k">public</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>
|
|
<p id="EN-US_TOPIC_0000001188588974__p39158934820">The result varies according to the current actual schema.</p>
|
|
<div class="note" id="EN-US_TOPIC_0000001188588974__note4238647104119"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188588974__p14771185124118">Currently, only the SYS_CONTEXT(<strong id="EN-US_TOPIC_0000001188588974__b150718561492">'USERENV','CURRENT_SCHEMA'</strong>) and <strong id="EN-US_TOPIC_0000001188588974__b32523045019">SYS_CONTEXT</strong>(<strong id="EN-US_TOPIC_0000001188588974__b174476825017">'USERENV','CURRENT_USER'</strong>) formats are supported.</p>
|
|
</div></div>
|
|
</div>
|
|
<div class="section" id="EN-US_TOPIC_0000001188588974__section72211514194818"><h4 class="sectiontitle">greatest(expr1 [, ...])</h4><p id="EN-US_TOPIC_0000001188588974__p1321911474819">Description: Selects the largest value from a list of any number of expressions.</p>
|
|
<ul id="EN-US_TOPIC_0000001188588974__ul2219714124820"><li id="EN-US_TOPIC_0000001188588974__li192197147486">In Oracle- or Teradata-compatible mode, the returned result is the maximum value of all non-null parameters.</li><li id="EN-US_TOPIC_0000001188588974__li3219111454817">In MySQL-compatible mode, <strong id="EN-US_TOPIC_0000001188588974__b128928328591">null</strong> is returned if an input parameter contains <strong id="EN-US_TOPIC_0000001188588974__b2089293215910">null</strong>.</li></ul>
|
|
<p id="EN-US_TOPIC_0000001188588974__p1421981420482">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1921911146482"><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">greatest</span><span class="p">(</span><span class="mi">1</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">greatest</span><span class="w"> </span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="mi">3</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 class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen7220171494813"><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">greatest</span><span class="p">(</span><span class="s1">'ABC'</span><span class="p">,</span><span class="w"> </span><span class="s1">'BCD'</span><span class="p">,</span><span class="w"> </span><span class="s1">'CDE'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">greatest</span><span class="w"> </span>
|
|
<span class="c1">----------</span>
|
|
<span class="w"> </span><span class="n">CDE</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_0000001188588974__section45016183486"><h4 class="sectiontitle">least(expr1 [, ...])</h4><p id="EN-US_TOPIC_0000001188588974__p54814188485">Description: Selects the smallest value from a list of any number of expressions.</p>
|
|
<ul id="EN-US_TOPIC_0000001188588974__ul1748118194817"><li id="EN-US_TOPIC_0000001188588974__li548618174820">In Oracle- or Teradata-compatible mode, the returned result is the minimum value of all non-null parameters.</li><li id="EN-US_TOPIC_0000001188588974__li1548151834817">In MySQL-compatible mode, <strong id="EN-US_TOPIC_0000001188588974__b1886711258594">null</strong> is returned if an input parameter contains <strong id="EN-US_TOPIC_0000001188588974__b18869025105913">null</strong>.</li></ul>
|
|
<p id="EN-US_TOPIC_0000001188588974__p18482186487">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1049101810484"><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">least</span><span class="p">(</span><span class="mi">1</span><span class="o">*</span><span class="mi">2</span><span class="p">,</span><span class="mi">2</span><span class="o">-</span><span class="mi">3</span><span class="p">,</span><span class="mi">4</span><span class="o">-</span><span class="mi">1</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">least</span><span class="w"> </span>
|
|
<span class="c1">-------</span>
|
|
<span class="w"> </span><span class="o">-</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 class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1149161854811"><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">least</span><span class="p">(</span><span class="s1">'ABC'</span><span class="p">,</span><span class="s1">'BCD'</span><span class="p">,</span><span class="s1">'CDE'</span><span class="p">);</span>
|
|
<span class="w"> </span><span class="n">least</span><span class="w"> </span>
|
|
<span class="c1">--------</span>
|
|
<span class="w"> </span><span class="n">ABC</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_0000001188588974__section13517112120485"><h4 class="sectiontitle">EMPTY_BLOB()</h4><p id="EN-US_TOPIC_0000001188588974__p85161121124819">Description: Initiates a BLOB variable in an INSERT or an UPDATE statement to a NULL value.</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p1951662118482">Return type: BLOB</p>
|
|
<p id="EN-US_TOPIC_0000001188588974__p195175218485">Examples:</p>
|
|
<div class="codecoloring" codetype="Sql" id="EN-US_TOPIC_0000001188588974__screen1051702115487"><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>
|
|
<span class="normal">6</span></pre></div></td><td class="code"><div><pre><span></span><span class="c1">-- Create a table:</span>
|
|
<span class="k">CREATE</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">blob_tb</span><span class="p">(</span><span class="n">b</span><span class="w"> </span><span class="nb">blob</span><span class="p">,</span><span class="n">id</span><span class="w"> </span><span class="nb">int</span><span class="p">)</span><span class="w"> </span><span class="n">DISTRIBUTE</span><span class="w"> </span><span class="k">BY</span><span class="w"> </span><span class="n">REPLICATION</span><span class="p">;</span>
|
|
<span class="c1">-- Insert data:</span>
|
|
<span class="k">INSERT</span><span class="w"> </span><span class="k">INTO</span><span class="w"> </span><span class="n">blob_tb</span><span class="w"> </span><span class="k">VALUES</span><span class="w"> </span><span class="p">(</span><span class="n">empty_blob</span><span class="p">(),</span><span class="mi">1</span><span class="p">);</span>
|
|
<span class="c1">--Delete the table.</span>
|
|
<span class="w"> </span><span class="k">DROP</span><span class="w"> </span><span class="k">TABLE</span><span class="w"> </span><span class="n">blob_tb</span><span class="p">;</span>
|
|
</pre></div></td></tr></table></div>
|
|
|
|
</div>
|
|
<div class="note" id="EN-US_TOPIC_0000001188588974__note79812611421"><img src="public_sys-resources/note_3.0-en-us.png"><span class="notetitle"> </span><div class="notebody"><p id="EN-US_TOPIC_0000001188588974__p39818614421">The length obtained by using <strong id="EN-US_TOPIC_0000001188588974__b522531816503">DBMS.GETLENGTH</strong> is 0.</p>
|
|
</div></div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_06_0027.html">Functions and Operators</a></div>
|
|
</div>
|
|
</div>
|
|
|