Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?
IF ELSE Statements dalam MySQL Queries
Dalam bidang pengurusan pangkalan data, MySQL menyediakan set keupayaan pertanyaan yang mantap. Antaranya ialah keupayaan untuk melaksanakan segmen kod secara bersyarat berdasarkan syarat tertentu. Di sinilah penyataan IF ELSE dimainkan.
Menggunakan Ungkapan KES
Walaupun MySQL tidak secara langsung menyokong pernyataan IF ELSE, wujud binaan serupa yang dikenali sebagai ungkapan CASE. Ungkapan CASE membolehkan anda mentakrifkan berbilang syarat dan menentukan hasil yang berbeza berdasarkan syarat yang dipenuhi.
Untuk menggunakan ungkapan CASE, anda boleh mengikut sintaks umum ini:
SELECT col1, col2, CASE WHEN condition1 THEN value1 WHEN condition2 THEN value2 ... ELSE default_value END AS desired_column_name FROM table_name;
Contoh
Pertimbangkan soalan asal, yang bertujuan untuk memberikan nilai kepada pembolehubah berdasarkan syarat semak:
mysql_query("...(irrelevant code).. IF(action==2&&state==0){state=1}");
Menggunakan ungkapan CASE, anda boleh mencapai hasil yang sama seperti berikut:
SELECT col1, col2, CASE WHEN action = 2 AND state = 0 THEN 1 ELSE 0 END AS state FROM table_name;
Apabila dilaksanakan, pertanyaan ini akan mengembalikan lajur yang ditentukan, termasuk lajur keadaan, yang akan diisi dengan nilai 1 jika kedua-dua tindakan dan syarat keadaan dipenuhi; jika tidak, ia akan diberikan nilai 0.
Dengan menggunakan ungkapan CASE, anda boleh melaksanakan logik bersyarat dalam pertanyaan MySQL anda dan memanipulasi nilai data berdasarkan kriteria tertentu, sama seperti yang anda lakukan dengan pernyataan IF ELSE.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!