Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah Penyata CASE MySQL Berfungsi?

Bagaimanakah Penyata CASE MySQL Berfungsi?

Barbara Streisand
Barbara Streisandasal
2024-11-05 07:59:02171semak imbas

How Does MySQL's CASE Statement Work?

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!

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