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
Lepaskan: 2025-01-22 15:06:14
asal
396 orang telah melayarinya

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:

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>
Salin selepas log masuk

Pertimbangkan aplikasi praktikal ini:

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
Salin selepas log masuk

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:

SELECT IIF(condition, true_value, false_value) AS <alias>,
  *
FROM <table_name>
Salin selepas log masuk

Begini cara ia digunakan pada contoh kami:

SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable,
  *
FROM Product
Salin selepas log masuk

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 Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan