Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL menggunakan CASE dan IIF?
Menguasai Logik Bersyarat dalam Pernyataan SELECT SQL: CASE dan IIF
Mengurus logik bersyarat dengan cekap dalam pernyataan SQL SELECT
adalah penting untuk manipulasi dan penapisan data. Walaupun binaan IF...THEN
langsung tidak tersedia dalam SQL standard, pernyataan CASE
dan IIF
(dalam SQL Server Denali dan kemudiannya) menyediakan alternatif yang mantap.
Pernyataan KES: Kuda Kerja Bersyarat SQL Anda
Pernyataan CASE
mencerminkan kefungsian IF...THEN
, menilai keadaan secara berurutan dan mengembalikan nilai berdasarkan keadaan benar pertama. Strukturnya adalah seperti berikut:
<code class="language-sql">SELECT CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END AS <alias>, -- Assign an alias to the result * FROM <table_name></code>
Pertimbangkan aplikasi praktikal ini:
<code class="language-sql">SELECT CAST( CASE WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1 ELSE 0 END AS bit) AS Saleable, -- Casts the result as a BIT (Boolean) * FROM Product</code>
Perhatikan pengendali CAST
. Tanpa itu, hasilnya ialah integer (0 atau 1); dengan CAST
, ia ditukar kepada Boolean (BENAR atau SALAH).
IIF: Pilihan Bersyarat Ringkas (SQL Server)
SQL Server memperkenalkan pernyataan IIF
(Immediate If), menawarkan alternatif yang lebih padat kepada CASE
:
<code class="language-sql">SELECT IIF(condition, true_value, false_value) AS <alias>, * FROM <table_name></code>
Begini cara ia digunakan pada contoh kami:
<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, * FROM Product</code>
Kedua-dua CASE
dan IIF
adalah alat yang sangat diperlukan untuk melaksanakan logik bersyarat dalam pertanyaan SQL SELECT
, memperkasakan manipulasi data dinamik dan penapisan yang cekap.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL menggunakan CASE dan IIF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!