<blockquote><p>CASE WHEN pernyataan ialah pernyataan bersyarat yang digunakan untuk menilai berbilang ungkapan dan mengembalikan nilai yang berbeza berdasarkan syarat. Ia menilai keadaan dari atas ke bawah, mengembalikan nilai yang sepadan dengan keadaan benar pertama, atau nilai lalai pilihan jika tiada syarat benar. </p></blockquote>
<p><img src="https://img.php.cn/upload/article/202404/28/2024042809391573136.jpg" alt="Apakah kes apabila bermakna dalam sql" ></p>
<p><strong>CASE WHEN Statement </strong></p>
<p><strong>Definisi: </strong></p>
<p>CASE WHEN pernyataan dalam SQL ialah pernyataan bersyarat yang digunakan untuk menilai pelbagai ungkapan berdasarkan perbandingan bersyarat yang diberikan. Ia membolehkan kami mengembalikan nilai yang berbeza berdasarkan situasi yang berbeza. </p>
<p><strong>Sintaks: </strong></p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="sql">CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END</code></pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p><strong>Penggunaan: </strong></p>
<ul>
<li>
<kod>syarat1</kod>, <kod>syarat2</kod>, ...: Syarat yang perlu dinilai. <code>condition1</code>, <code>condition2</code>, ...:要评估的条件。</li>
<li>
<code>result1</code>, <code>result2</code>, ...:如果相应的条件为真,则要返回的值。</li>
<li>
<code>default_result</code>:如果所有条件都为假,则要返回的默认值(可选)。</li>
</ul>
<p><strong>工作原理:</strong></p>
<p>CASE WHEN 语句从上到下评估条件,直到找到第一个为真的条件。 如果找到了真条件,则返回相应的 <code>result</code> 值。 如果没有真条件,则返回 <code>default_result</code> 值(如果已指定)。</p>
<p><strong>示例:</strong></p>
<p>获取学生成绩等级:</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code class="sql">CASE
WHEN grade >= 90 THEN 'A'
WHEN grade >= 80 THEN 'B'
WHEN grade >= 70 THEN 'C'
WHEN grade >= 60 THEN 'D'
ELSE 'F'
END</code></pre><div class="contentsignin">Salin selepas log masuk</div></div>
<p><strong>优点:</strong></p>
<ul>
<li>简化条件逻辑,避免使用嵌套的 IF-ELSE 语句。</li>
<li>提高代码可读性和可维护性。</li>
</ul>
<p><strong>注意:</strong></p>
<ul>
<li>CASE WHEN 语句可以包含多个分支。</li>
<li>
<code>default_result</code> 是可选的,如果未指定,则结果将为 NULL。</li>
<li>比较条件使用 <code>=</code>、<code>></code>、<code><</code></li><kod>hasil1</kod>, <kod>hasil2</kod>, ...: Nilai yang akan dikembalikan jika keadaan yang sepadan adalah benar. </ul>🎜<code>default_result</code>: Nilai lalai untuk dikembalikan jika semua syarat adalah palsu (pilihan). 🎜🎜🎜🎜Cara ia berfungsi: 🎜🎜🎜CASE WHEN pernyataan menilai keadaan dari atas ke bawah sehingga ia mendapati syarat pertama yang benar. Jika keadaan benar ditemui, nilai <code>result</code> yang sepadan dikembalikan. Jika tiada syarat yang benar, nilai <code>default_result</code> dikembalikan (jika dinyatakan). 🎜🎜🎜Contoh: 🎜🎜🎜Dapatkan gred prestasi pelajar: 🎜rrreee🎜🎜Kelebihan: 🎜🎜🎜🎜Ringkaskan logik bersyarat dan elakkan menggunakan pernyataan IF-ELSE bersarang. 🎜🎜Tingkatkan kebolehbacaan dan kebolehselenggaraan kod. 🎜🎜🎜🎜Nota: 🎜🎜🎜🎜KES BILA kenyataan boleh mengandungi berbilang cawangan. 🎜🎜<code>default_result</code> adalah pilihan, jika tidak dinyatakan hasilnya akan menjadi NULL. 🎜🎜Syarat perbandingan menggunakan operator perbandingan seperti <code>=</code>, <code>></code> dan <code><</code>. 🎜🎜</li>
</ul>
Atas ialah kandungan terperinci Apakah kes apabila bermakna dalam sql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!