MySQL menyediakan dua binaan yang dipanggil Case Expression dan Case Statement, yang mungkin kelihatan boleh ditukar ganti. Walau bagaimanapun, memahami fungsi khusus mereka adalah penting.
Ungkapan Kes menilai keadaan dan mengembalikan hasil yang sepadan. Ia biasanya digunakan dalam ungkapan, seperti dalam pernyataan SELECT atau sebagai sebahagian daripada ungkapan lain. Sintaksnya ialah:
CASE WHEN [condition] THEN result [WHEN [condition] THEN result ...] [ELSE result] END
Contohnya:
SELECT CASE WHEN type = 1 THEN 'foo' WHEN type = 2 THEN 'bar' ELSE 'baz' END AS name_for_numeric_type FROM sometable`
Berbeza dengan Ungkapan Kes, Pernyataan Kes melaksanakan salah satu set pernyataan berdasarkan suatu syarat. Ia biasanya digunakan dalam atur cara yang disimpan untuk melaksanakan operasi bersyarat. Sintaksnya ialah:
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END CASE
Contohnya:
CASE WHEN action = 'update' THEN UPDATE sometable SET column = value WHERE condition; WHEN action = 'create' THEN INSERT INTO sometable (column) VALUES (value); END CASE
Perbezaan utama antara Ungkapan Kes dan Pernyataan Kes terletak pada hasil penilaiannya. Ungkapan Kes mengembalikan nilai, manakala Pernyataan Kes melaksanakan satu set pernyataan. Perbezaan ini menentukan kes penggunaannya yang sesuai.
Walaupun sintaks Ungkapan Kes konsisten merentas versi MySQL, sintaks untuk Pernyataan Kes boleh berbeza antara atur cara yang disimpan dan pertanyaan biasa. Apabila digunakan dalam pertanyaan biasa, kata kunci "END" akan ditinggalkan, manakala dalam atur cara yang disimpan, ia diperlukan.
**Stored Program**
KES
BILA ...
...
LAIN ...
KES TAMAT
**Normal Query**
KES
BILA ...
...
LAIN ...
KES
Atas ialah kandungan terperinci Berikut ialah beberapa tajuk berdasarkan soalan yang sesuai untuk artikel anda, memfokuskan pada perbezaan dan penggunaan utama: * Ungkapan Kes lwn. Pernyataan Kes dalam MySQL: Mana Yang Sesuai untuk Pertanyaan Anda? * Kes MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!