Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?

Bagaimanakah Saya Boleh Melaksanakan Logik IF-ELSE dalam Pertanyaan MySQL Menggunakan Ungkapan CASE?

Susan Sarandon
Susan Sarandonasal
2024-12-04 13:03:14502semak imbas

How Can I Implement IF-ELSE Logic in MySQL Queries Using CASE Expressions?

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!

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