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!