Rumah > Artikel > pangkalan data > Bagaimanakah Penyata CASE MySQL Berfungsi?
Memahami Mekanik MySQL CASE
Penyataan CASE MySQL berfungsi sebagai ungkapan bersyarat, membolehkan anda menetapkan nilai secara dinamik berdasarkan kriteria yang ditentukan. Walaupun sintaksnya mungkin menyerupai pernyataan if, operasinya adalah berbeza.
Bekerja dengan Penyata KES
Sintaks umum pernyataan CASE adalah seperti berikut:
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
Dalam konteks ini, keadaan_carian mewakili perbandingan yang menentukan sama ada senarai_pernyataan yang berkaitan dilaksanakan atau tidak. Statement_list boleh mengandungi sebarang ungkapan MySQL yang sah.
Contoh Penggunaan untuk Penyusunan Peranan
Untuk menjana role_order medan dengan nombor yang berbeza bergantung pada nilai dalam medan user_role, anda boleh menggunakan pernyataan CASE seperti berikut:
CASE user_role WHEN 'Manager' THEN 5 WHEN 'Part Time' THEN 7 ELSE -1 -- Unknown END
Dalam contoh ini, pernyataan CASE bertindak sebagai pernyataan suis. Apabila peranan_pengguna sama dengan 'Pengurus', ia memberikan nilai 5 kepada pesanan_peranan. Begitu juga, apabila peranan_pengguna bersamaan dengan 'Separuh Masa', ia memberikan nilai 7 kepada pesanan_peranan. Jika user_role tidak sepadan dengan mana-mana syarat yang ditentukan, ia memberikan nilai -1 sebagai lalai.
Sintaks Alternatif
MySQL menyediakan sintaks alternatif untuk pernyataan CASE apabila anda hanya meneliti satu nilai. Sintaks ini lebih ringkas dan boleh digunakan seperti berikut:
CASE WHEN user_role = 'Manager' THEN 4 WHEN user_name = 'Tom' THEN 27 WHEN columnA <> columnB THEN 99 ELSE -1 -- Unknown END
Dalam bentuk alternatif ini, nilai yang dibandingkan (peranan_pengguna) ditentukan pada permulaan, diikuti dengan syarat BILA.
Dengan memahami mekanik pernyataan CASE dan tingkah laku seperti suisnya, anda boleh menggunakannya dengan berkesan untuk menetapkan nilai berdasarkan kriteria tertentu dalam pertanyaan MySQL anda.
Atas ialah kandungan terperinci Bagaimanakah Penyata CASE MySQL Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!