Rumah >pangkalan data >tutorial mysql >Bagaimanakah Pernyataan CASE SQL Mendayakan Perbandingan Dinamik dalam Klausa WHERE?
Gunakan pernyataan CASE dalam klausa WHERE SQL untuk perbandingan dinamik
Pernyataan CASE dalam SQL menyediakan ungkapan bersyarat yang menilai satu siri klausa WHEN dan mengembalikan nilai yang sepadan. Ciri ini boleh digunakan dalam klausa WHERE untuk melakukan perbandingan dinamik berdasarkan keadaan tertentu.
Untuk mencapai hasil yang diharapkan, pernyataan CASE hendaklah dibina seperti berikut:
<code class="language-sql">WHERE @locationID = CASE @locationType WHEN 'location' THEN account_location WHEN 'area' THEN xxx_location_area WHEN 'division' THEN xxx_location_division END</code>
Sintaks di atas memastikan klausa WHERE menapis data berdasarkan nilai @locationType. Jika @locationType ialah 'lokasi', ungkapan klausa WHERE menilai kepada @locationID = account_location. Jika @locationType ialah 'kawasan', klausa WHERE menilai kepada @locationID = xxx_location_area dan seterusnya.
Dengan menggunakan pernyataan CASE dengan cara ini, anda mengelak daripada menyemak secara eksplisit setiap syarat dalam klausa WHERE dan memastikan perbandingan yang sesuai dilakukan berdasarkan nilai @locationType yang disediakan.
Atas ialah kandungan terperinci Bagaimanakah Pernyataan CASE SQL Mendayakan Perbandingan Dinamik dalam Klausa WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!