Rumah > Artikel > pangkalan data > Bagaimana untuk Mengembalikan Nilai Tahan Null dengan IFNULL dalam MySQL?
Mengembalikan Nilai Tahan Null dengan IFNULL
Banyak pertanyaan pangkalan data memerlukan pengambilan semula nilai berdasarkan syarat tertentu. Walau bagaimanapun, apabila menemui set hasil kosong, adalah berfaedah untuk mengembalikan nilai bukan nol sebagai pemegang tempat. Artikel ini meneroka penyelesaian ringkas kepada masalah ini menggunakan fungsi IFNULL MySQL.
Cabaran timbul apabila melakukan pertanyaan seperti:
<code class="sql">SELECT field1 FROM table WHERE id = 123 LIMIT 1;</code>
Jika tiada baris wujud dalam jadual dengan id bersamaan 123 , set keputusan akan kosong, meninggalkan aplikasi pertanyaan tanpa cara untuk menentukan sama ada rekod tidak ditemui atau jika ralat lain berlaku. Untuk menangani perkara ini, kita memerlukan cara untuk mengembalikan nilai walaupun tanpa ketiadaan hasil.
Fungsi IFNULL menyediakan penyelesaian. Ia memerlukan dua hujah: ungkapan untuk menilai dan nilai untuk dikembalikan jika ungkapan itu batal. Dalam kes ini, ungkapan ialah subquery yang mendapatkan semula medan1 dan nilai untuk dikembalikan jika subquery mengembalikan null adalah 'tidak ditemui'.
<code class="sql">SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123 LIMIT 1) ,'not found');</code>
Pertanyaan ini akan mengembalikan sama ada nilai medan1 jika sepadan baris ditemui atau rentetan 'tidak dijumpai' jika tiada baris sedemikian. Menggunakan pendekatan ini, kami boleh menjamin bahawa kami sentiasa menerima nilai, menjadikan pemprosesan seterusnya lebih teguh dan kurang terdedah kepada ralat.
Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Nilai Tahan Null dengan IFNULL dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!