Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL menggunakan CASE dan IIF?

Bagaimanakah Saya Boleh Melaksanakan Logik Bersyarat dalam Pernyataan SELECT SQL menggunakan CASE dan IIF?

DDD
DDDasal
2025-01-22 15:06:14325semak imbas

How Can I Implement Conditional Logic in SQL SELECT Statements using CASE and 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn