Rumah > pangkalan data > tutorial mysql > Bagaimana Mengelakkan Kekaburan dan Menggunakan CASE dengan betul..WHEN Statement dalam MySQL?

Bagaimana Mengelakkan Kekaburan dan Menggunakan CASE dengan betul..WHEN Statement dalam MySQL?

Patricia Arquette
Lepaskan: 2024-12-26 06:17:13
asal
844 orang telah melayarinya

How to Avoid Ambiguity and Correctly Use CASE..WHEN Statements in MySQL?

Kerumitan CASE..WHEN dalam MySQL

Penyataan CASE..WHEN dalam MySQL menyediakan kaedah serba boleh untuk penilaian ungkapan bersyarat. Walau bagaimanapun, kerumitan timbul apabila bekerja dengan senario tertentu.

Sintaks CASE Ambiguous

Satu kerumitan sedemikian ditemui apabila lajur base_price diawalikan dalam ungkapan CASE. Seperti yang dilihat dalam contoh pertanyaan, menggunakan course_enrollment_settings.base_price dalam klausa WHEN memperkenalkan kekaburan.

Pertanyaan:

SELECT
   CASE course_enrollment_settings.base_price
    WHEN course_enrollment_settings.base_price = 0      THEN 1
    WHEN course_enrollment_settings.base_price<101      THEN 2
    WHEN course_enrollment_settings.base_price>100 AND   
                      course_enrollment_settings.base_price<201 THEN 3
        ELSE 6
   END AS 'calc_base_price',
   course_enrollment_settings.base_price
FROM
    course_enrollment_settings
WHERE course_enrollment_settings.base_price = 0
Salin selepas log masuk

Isu:

Dalam pertanyaan ini, pernyataan CASE adalah salah dirumuskan. Dengan memasukkan course_enrollment_settings.base_price selepas WHEN, ia membawa kepada penilaian syarat yang salah.

Penyelesaian:

Untuk menyelesaikan isu ini, hapuskan awalan jadual dalam ungkapan CASE :

SELECT
   CASE
    WHEN base_price = 0      THEN 1
    ...
    END
Salin selepas log masuk

Dua Bentuk KES

Pernyataan KES mempunyai dua bentuk berbeza:

  • KES Mudah: Digunakan untuk ungkapan bersyarat ringkas yang melibatkan semakan kesaksamaan.
  • KES Dicari: Menggunakan syarat carian seperti dalam contoh yang disediakan. Dalam bentuk ini, awalan dalam klausa WHEN harus ditinggalkan.

Dengan menggunakan bentuk yang betul dan mengalih keluar awalan berlebihan, ungkapan CASE menilai syarat dengan tepat.

Atas ialah kandungan terperinci Bagaimana Mengelakkan Kekaburan dan Menggunakan CASE dengan betul..WHEN Statement 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan