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

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

DDD
DDDasal
2024-11-03 23:57:30269semak imbas

How Can I Use the CASE Statement to Assign Values Based on Conditions in MySQL?

Memahami MySQL CASE: Panduan Komprehensif

Apabila bekerja dengan pangkalan data SQL, memanipulasi data untuk mengekstrak cerapan yang bermakna adalah penting. Pernyataan CASE menawarkan alat yang berkuasa untuk melaksanakan penyata SQL secara bersyarat, membolehkan anda melakukan transformasi dan penilaian data yang kompleks.

Menyingkap Sintaks CASE

Pernyataan SQL CASE berikut format berstruktur:

CASE
    WHEN condition1 THEN result1
    [WHEN condition2 THEN result2] ...
    [ELSE default_result]
END CASE

Begini cara anda boleh memanfaatkan CASE untuk mencapai hasil yang anda inginkan:

Contoh: Menetapkan Perintah Peranan

Andaikan anda mempunyai medan dalam jadual peranan_pengguna yang mengandungi peranan seperti "Pengurus", "Sambilan", dan sebagainya. Anda ingin mencipta role_order medan baharu yang memberikan nombor berdasarkan peranan.

Penyelesaian menggunakan CASE:

CASE
    WHEN user_role = 'Manager' THEN 5
    WHEN user_role = 'Part Time' THEN 3
    ELSE -1 -- Handle unknown roles
END CASE

Pernyataan CASE ini berfungsi seperti pernyataan suis , menilai nilai peranan_pengguna dan menetapkan nombor pesanan_peranan yang sepadan berdasarkan syarat yang dipratentukan.

Memahami Pelaksanaan CASE

CASE berbeza daripada pernyataan IF dengan bertindak sebagai pernyataan penilaian yang komprehensif. Ia bermula dengan menilai keadaan WHEN pertama dan melaksanakan hasil yang sepadan. Jika syarat tidak dipenuhi, ia beralih ke keadaan WHEN seterusnya sehingga keadaan yang sepadan ditemui. Jika tiada syarat WHEN sepadan, klausa ELSE pilihan menyediakan hasil lalai.

Sintaks CASE Ringkas untuk Menilai Nilai Tunggal

Sintaks alternatif untuk CASE tersedia apabila menilai sesuatu nilai tunggal:

CASE value
    WHEN condition1 THEN result1
    [WHEN condition2 THEN result2] ...
    [ELSE default_result]
END CASE

Sintaks ini memudahkan pernyataan apabila memeriksa satu nilai tertentu, seperti dalam contoh menyemak nilai peranan_pengguna.

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