Rumah  >  Artikel  >  pangkalan data  >  Bagaimanakah Saya Boleh Menggunakan Pernyataan CASE MySQL untuk Menetapkan Nilai Berdasarkan Syarat?

Bagaimanakah Saya Boleh Menggunakan Pernyataan CASE MySQL untuk Menetapkan Nilai Berdasarkan Syarat?

DDD
DDDasal
2024-11-08 12:59:02499semak imbas

How Can I Use MySQL's CASE Statement to Assign Values Based on Conditions?

Sintaks KES MySQL Diterangkan

Penyataan CASE SQL membolehkan anda melaksanakan set pernyataan yang berbeza secara bersyarat berdasarkan syarat tertentu. Ia bukan pernyataan if-else; sebaliknya, ia lebih serupa dengan pernyataan suis.

Untuk memahami cara CASE berfungsi, pertimbangkan contoh berikut:

Masalah:

Anda mempunyai medan bernama user_role dalam jadual pengguna, yang mengandungi peranan pengguna seperti "Pengurus", "Sambilan", dll. Anda perlu menjana medan baharu bernama role_order yang memberikan nombor yang berbeza untuk setiap peranan. Sebagai contoh, jika user_role = 'Pengurus', maka role_order hendaklah 5.

Penyelesaian:

Menggunakan sintaks CASE, anda boleh melaksanakan logik ini seperti berikut:

<code class="sql">CASE 
    WHEN user_role = 'Manager' then 5
    WHEN user_role = 'Part Time' then 7
    ELSE -1 --unknown
END</code>

Ini, KES pernyataan:

  • Memeriksa nilai medan pengguna_role
  • Jika ia sama dengan 'Pengurus', ia akan mengembalikan 5
  • Jika ia sama dengan 'Sambilan', ia akan kembali 7
  • Jika ia tidak sepadan dengan mana-mana nilai yang ditentukan, ia mengembalikan -1 (mewakili peranan tidak diketahui)

Pilihan Sintaks Lain:

Jika anda hanya memeriksa satu nilai, anda boleh menggunakan sintaks yang lebih ringkas:

<code class="sql">CASE user_role
    WHEN 'Manager' then 5
    WHEN 'Part Time' then 7
    ELSE -1 --unknown
END</code>

Ingat, CASE membolehkan anda menilai berbilang syarat dan melaksanakan penyataan berbeza secara bersyarat. Ia adalah alat yang berkuasa untuk mengurus logik bersyarat dalam pertanyaan SQL.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pernyataan CASE MySQL untuk Menetapkan Nilai Berdasarkan Syarat?. 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