Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengembalikan Nilai Lalai untuk Set Keputusan Kosong dalam Pertanyaan Pangkalan Data?

Bagaimana untuk Mengembalikan Nilai Lalai untuk Set Keputusan Kosong dalam Pertanyaan Pangkalan Data?

DDD
DDDasal
2024-10-28 09:45:02342semak imbas

How to Return Default Values for Empty Result Sets in Database Queries?

Mengembalikan Nilai Lalai dengan Set Hasil Kosong

Apabila membuat pertanyaan pangkalan data, adalah perkara biasa untuk mengendalikan senario yang tiada baris yang sepadan ditemui. Untuk mengelakkan hasil kosong, anda boleh mengembalikan nilai lalai.

Dalam kes anda, anda mahu memilih item dijadualkan seterusnya untuk strim. Jika tiada item dijadualkan, anda inginkan nilai lalai untuk memastikan strim memainkan kandungan.

Anda telah mencuba menggunakan COALESCE dan IFNULL tanpa kejayaan. Walau bagaimanapun, terdapat pendekatan yang sedikit berbeza yang akan berfungsi:

<code class="sql">SELECT IFNULL(MIN(`file`), 'default.webm') `file` 
FROM `show`, `schedule` 
WHERE `channel` = 1 AND `start_time` <= UNIX_TIMESTAMP() 
  AND `start_time` > UNIX_TIMESTAMP()-1800 AND `show`.`id` = `schedule`.`file` 
ORDER BY `start_time` DESC LIMIT 1</code>

Dengan menggunakan MIN() sebagai fungsi agregat, anda memastikan bahawa nilai NULL dikembalikan apabila tiada baris dipilih. Kemudian, IFNULL atau COALESCE boleh menggantikan NULL dengan nilai lalai anda, 'default.webm' dalam kes ini.

Kaedah ini membolehkan anda mendapatkan semula nilai lalai jika pertanyaan tidak mengembalikan hasil, dengan berkesan mengendalikan ketiadaan padanan baris.

Atas ialah kandungan terperinci Bagaimana untuk Mengembalikan Nilai Lalai untuk Set Keputusan Kosong dalam Pertanyaan Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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