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

DDD
Lepaskan: 2024-11-03 23:57:30
asal
176 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!