doc-exports/docs/dli/sqlreference/dli_08_0103.html
Su, Xiaomeng 04d4597cf3 dli_sqlreference_0511_version
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com>
Co-authored-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
Co-committed-by: Su, Xiaomeng <suxiaomeng1@huawei.com>
2023-11-02 14:34:08 +00:00

78 lines
13 KiB
HTML

<a name="dli_08_0103"></a><a name="dli_08_0103"></a>
<h1 class="topictitle1">Condition Expression</h1>
<div id="body1574406512550"><div class="section" id="dli_08_0103__section1111420567382"><h4 class="sectiontitle">CASE Expression</h4><p id="dli_08_0103__p16759811113919"><strong id="dli_08_0103__b164693580255">Syntax</strong></p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__screen083942792919"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CASE</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">value1</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">value11</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="n">result1</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">valueN</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">valueN1</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="n">resultN</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="n">resultZ</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="k">END</span>
</pre></div></td></tr></table></div>
</div>
<p id="dli_08_0103__en-us_topic_0060575887_p060621810392">or</p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__screen13494151710308"><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></pre></div></td><td class="code"><div><pre><span></span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">condition1</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="n">result1</span>
<span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">conditionN</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="n">resultN</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="p">[</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="n">resultZ</span><span class="w"> </span><span class="p">]</span>
<span class="w"> </span><span class="k">END</span>
</pre></div></td></tr></table></div>
</div>
<p id="dli_08_0103__p137251811113911"><strong id="dli_08_0103__b13460191202618">Description</strong></p>
<ul id="dli_08_0103__ue0f6aa0c34074239b46de18b9b5afa90"><li id="dli_08_0103__l71627304a3284bbba91386668bbaf122">If the value of <strong id="dli_08_0103__b84235270611556">value</strong> is <strong id="dli_08_0103__b84235270620854">value1</strong>, <strong id="dli_08_0103__b84235270620858">result1</strong> is returned. If the value is not any of the values listed in the clause, <strong id="dli_08_0103__b8423527062092">resultZ</strong> is returned. If no else statement is specified, <strong id="dli_08_0103__b8423527062099">null</strong> is returned.</li><li id="dli_08_0103__l818e1c4b45b848d88ddc234a63676e04">If the value of <strong id="dli_08_0103__b84235270620926">condition1</strong> is <strong id="dli_08_0103__b84235270620930">true</strong>, <strong id="dli_08_0103__b84235270620933">result1</strong> is returned. If the value does not match any condition listed in the clause, <strong id="dli_08_0103__b84235270620938">resultZ</strong> is returned. If no else statement is specified, <strong id="dli_08_0103__b84235270620942">null</strong> is returned.</li></ul>
<p id="dli_08_0103__p137018116393"><strong id="dli_08_0103__b94614692618">Precautions</strong></p>
<ul id="dli_08_0103__u2da4760a69164fb092c1fce01777d7b4"><li id="dli_08_0103__en-us_topic_0060575887_li18903895919">All results must be of the same type.</li><li id="dli_08_0103__en-us_topic_0060575887_li19019811593">All conditions must be of the Boolean type.</li><li id="dli_08_0103__l56d89e3913dc4c20b8fc1bdd0c9d125a">If the value does not match any condition, the value of <strong id="dli_08_0103__b1824989970201158">ELSE</strong> is returned when the else statement is specified, and <strong id="dli_08_0103__b1615259437201211">null</strong> is returned when no else statement is specified.</li></ul>
<p id="dli_08_0103__p11683101110392"><strong id="dli_08_0103__b3914191252611">Example</strong></p>
<p id="dli_08_0103__en-us_topic_0060575887_p169422219456">If the value of <strong id="dli_08_0103__b842352706201230">units</strong> equals <strong id="dli_08_0103__b842352706201233">5</strong>, <strong id="dli_08_0103__b842352706201236">1</strong> is returned. Otherwise, <strong id="dli_08_0103__b842352706201238">0</strong> is returned.</p>
<p id="dli_08_0103__p1838153318296">Example 1:</p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__s3879b416b56d44048fd099bb05689be8"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">insert</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="n">units</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Orders</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
<p id="dli_08_0103__p9831553102912">Example 2:</p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__s21e4fec85c9342c19e36ff645e628d6c"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">insert</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">temp</span><span class="w"> </span><span class="k">SELECT</span><span class="w"> </span><span class="k">CASE</span><span class="w"> </span><span class="k">WHEN</span><span class="w"> </span><span class="n">units</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="k">THEN</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="k">ELSE</span><span class="w"> </span><span class="mi">0</span><span class="w"> </span><span class="k">END</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Orders</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="dli_08_0103__section135840332392"><h4 class="sectiontitle">NULLIF Expression</h4><p id="dli_08_0103__p187182598392"><strong id="dli_08_0103__b115021819132611">Syntax</strong></p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__screen62530710320"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">NULLIF</span><span class="p">(</span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
<p id="dli_08_0103__p12698195943913"><strong id="dli_08_0103__b662132192620">Description</strong></p>
<p id="dli_08_0103__a26520665670f45d190e2ad266a7e6158">If the values are the same, <strong id="dli_08_0103__b842352706201311">NULL</strong> is returned. For example, <strong id="dli_08_0103__b842352706201320">NULL</strong> is returned from NULLIF (5,5) and <strong id="dli_08_0103__b842352706201326">5</strong> is returned from NULLIF (5,0).</p>
<p id="dli_08_0103__p126811059143919"><strong id="dli_08_0103__b1299132416261">Precautions</strong></p>
<p id="dli_08_0103__a81cfc1a0c0284d3d8ee5390e4289f915">None</p>
<p id="dli_08_0103__p466416593391"><strong id="dli_08_0103__b76022682616">Example</strong></p>
<p id="dli_08_0103__a132e15af42c342a0bb9c96b295011979">If the value of <strong id="dli_08_0103__b1991429219">units</strong> equals <strong id="dli_08_0103__b163951545">3</strong>, <strong id="dli_08_0103__b1065282639">null</strong> is returned. Otherwise, the value of <strong id="dli_08_0103__b913967473">units</strong> is returned.</p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__s41849cfb7da54a76ab8b64216b4c4218"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">insert</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">temp</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="n">units</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Orders</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
<div class="section" id="dli_08_0103__section6467120164016"><h4 class="sectiontitle">COALESCE Expression</h4><p id="dli_08_0103__p172264712404"><strong id="dli_08_0103__b4765193022620">Syntax</strong></p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__screen1055404819325"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">COALESCE</span><span class="p">(</span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="p">[,</span><span class="w"> </span><span class="n">value</span><span class="w"> </span><span class="p">]</span><span class="o">*</span><span class="w"> </span><span class="p">)</span>
</pre></div></td></tr></table></div>
</div>
<p id="dli_08_0103__p38184714017"><strong id="dli_08_0103__b1070616326267">Description</strong></p>
<p id="dli_08_0103__a228b59c42f1c44afb6babbae19403860">Return the first value that is not <strong id="dli_08_0103__b842352706201436">NULL</strong>, counting from left to right.</p>
<p id="dli_08_0103__p1999316462409"><strong id="dli_08_0103__b1985613472615">Precautions</strong></p>
<p id="dli_08_0103__acb9743aacec14be79c2e3cb57631dfe3">All values must be of the same type.</p>
<p id="dli_08_0103__p9977446124015"><strong id="dli_08_0103__b1786710363261">Example</strong></p>
<p id="dli_08_0103__ab15eedbe29d34ed99bcc28db30713471"><strong id="dli_08_0103__b842352706201455">5</strong> is returned from the following example:</p>
<div class="codecoloring" codetype="Sql" id="dli_08_0103__sd341fcc6afa8437db89d2f4947ead8bd"><div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><span class="k">insert</span><span class="w"> </span><span class="k">into</span><span class="w"> </span><span class="n">temp</span><span class="w"> </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="w"> </span><span class="mi">5</span><span class="p">)</span><span class="w"> </span><span class="k">FROM</span><span class="w"> </span><span class="n">Orders</span><span class="p">;</span>
</pre></div></td></tr></table></div>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="dli_08_0233.html">Flink SQL Syntax</a></div>
</div>
</div>