Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Ungkapan CASE untuk Melaksanakan Logik Bersyarat dalam Pertanyaan MySQL?

Bagaimanakah Saya Boleh Menggunakan Ungkapan CASE untuk Melaksanakan Logik Bersyarat dalam Pertanyaan MySQL?

DDD
DDDasal
2024-12-12 15:19:09128semak imbas

How Can I Use CASE Expressions to Implement Conditional Logic in MySQL Queries?

Menggunakan Ungkapan CASE untuk Pernyataan Bersyarat dalam Pertanyaan MySQL

Apabila mencipta pertanyaan MySQL, pengendalian pernyataan bersyarat adalah penting. Walaupun MySQL tidak menyokong sintaks IF ELSE tradisional, terdapat alternatif yang menyediakan fungsi yang serupa: ungkapan CASE.

Gambaran Keseluruhan Ungkapan CASE

Ekspresi CASE menilai satu siri syarat dan kembalikan keputusan yang telah ditetapkan berdasarkan perlawanan. Sintaksnya adalah seperti berikut:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END

Pertanyaan dengan Ungkapan KES

Dalam kes anda, anda ingin menilai tindakan keadaan=2 DAN keadaan=0 dan kembalikan 1 jika benar, sebaliknya kembalikan 0. Menggunakan ungkapan CASE, pertanyaan anda akan kelihatan seperti ini:

mysql_query("SELECT ...(irrelevant code)... 
CASE 
    WHEN (action = 2 AND state = 0) 
 THEN
    1 
 ELSE
    0 
 END as state from tbl1");

Mengakses Hasil

Untuk mengakses keputusan, anda boleh menggunakan lajur keadaan dalam tatasusunan PHP anda:

$row['state'] //this should equal 1, depending on the database values

Tidak seperti pernyataan IF ELSE, ungkapan CASE hanya menilai keadaan dan mengembalikan hasil tanpa mengubah suai pangkalan data. Ini menjadikannya cara yang mudah untuk mengendalikan logik bersyarat dalam pertanyaan anda dan mendapatkan hasil yang dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Ungkapan CASE untuk Melaksanakan Logik Bersyarat dalam Pertanyaan MySQL?. 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