Cara Mencontohi Penyata IF ELSE dalam Pertanyaan MySQL
Dalam MySQL, pernyataan IF ELSE tidak disokong secara asli. Walau bagaimanapun, anda boleh mencapai kefungsian yang sama menggunakan ungkapan CASE.
Memahami Ungkapan CASE
Ekspresi CASE menilai satu siri syarat dan mengembalikan hasil berdasarkan padanan pertama syarat. Ia mengambil bentuk berikut:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
Contoh
Untuk meniru pernyataan IF ELSE dalam soalan anda, anda akan menggunakan ungkapan CASE seperti berikut:
SELECT col1, col2, (CASE WHEN (action = 2 AND state = 0) THEN 1 ELSE 0 END) AS state FROM tbl1;
Dalam pertanyaan ini:
Mengakses Nilai yang Dipulangkan
Setelah pertanyaan dilaksanakan, anda boleh mengakses nilai yang dikira dalam lajur keadaan set hasil. Dalam contoh anda, anda boleh menggunakan kod berikut:
$row['state'] // This should equal 1
Perhatikan bahawa pertanyaan ini hanya mengira nilai keadaan berdasarkan syarat yang dinyatakan dalam ungkapan CASE. Ia tidak mengemas kini lajur keadaan dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Logik IF ELSE dalam Pertanyaan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!