Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengisih Nilai NULL ke Penghujung Jadual PostgreSQL?
Mengisih Nilai NULL ke Hujung Jadual dalam PostgreSQL
Apabila mengisih data, nilai NULL boleh memberikan cabaran kerana ia boleh mengganggu perintah yang dimaksudkan. Dalam PostgreSQL, terdapat gelagat berbeza untuk nilai NULL berdasarkan susunan isihan yang digunakan.
Tertib Menaik Lalai
Secara lalai, apabila mengisih baris dalam tertib menaik, nilai NULL diletakkan pada permulaan keputusan. Ini kerana NULL dianggap kurang daripada mana-mana nilai bukan NULL.
Turutan Menurun tanpa NULLS LAST
Walau bagaimanapun, apabila mengisih dalam tertib menurun tanpa menggunakan NULLS Pilihan TERAKHIR, nilai NULL diletakkan di bahagian atas. Ini kerana NULL dianggap lebih besar daripada mana-mana nilai bukan NULL dalam tertib menurun.
Turutan Menurun dengan NULLS LAST
Untuk mengisih nilai NULL hingga akhir jadual dalam tertib menurun, gunakan pilihan NULLS LAST:
ORDER BY somevalue DESC NULLS LAST
Pilihan ini menentukan bahawa Nilai NULL harus dianggap sebagai nilai terendah apabila mengisih dalam tertib menurun.
Kaedah Alternatif untuk PostgreSQL 8.2 dan Lebih Lama
Untuk PostgreSQL versi 8.2 dan lebih lama, atau untuk RDBMS yang tidak menyokong pilihan NULLS LAST, anda boleh menggunakan yang berikut penyelesaian:
ORDER BY (somevalue IS NULL), somevalue DESC
Ungkapan ini menggunakan fakta bahawa FALSE (yang mewakili NULL) diisih sebelum TRUE (yang mewakili nilai bukan NULL). Dengan menyemak sama ada medan beberapa nilai ialah NULL, kami mengalihkan nilai NULL dengan berkesan ke penghujung susunan isihan.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Nilai NULL ke Penghujung Jadual PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!