Rumah >pangkalan data >tutorial mysql >Bagaimanakah PostgreSQL Mengendalikan Nilai NULL dalam ORDER BY Klausa?

Bagaimanakah PostgreSQL Mengendalikan Nilai NULL dalam ORDER BY Klausa?

Patricia Arquette
Patricia Arquetteasal
2024-12-25 01:13:14255semak imbas

How Does PostgreSQL Handle NULL Values in ORDER BY Clauses?

Memesan Nilai NULL dalam PostgreSQL

Mengisih baris dengan nilai NULL boleh disesuaikan dalam PostgreSQL. Secara lalai, nilai NULL diisih terakhir dalam tertib menaik. Walau bagaimanapun, dalam tertib menurun, nilai NULL muncul dahulu.

Isih Nilai NULL Terakhir dalam Tertib Menaik

Secara lalai, nilai NULL diisih terakhir dalam tertib menaik. Ini bermakna baris dengan nilai NULL dalam medan tertentu akan muncul di bahagian bawah jadual apabila diisih mengikut medan tersebut.

Isih NULL Nilai Dahulu dalam Susunan Menurun

Kepada susun nilai NULL dahulu dalam susunan menurun, PostgreSQL 8.3 dan versi yang lebih baru menawarkan NULLS LAST pilihan:

ORDER BY somevalue DESC NULLS LAST

Isih Nilai NULL Pertama dalam Susunan Menurun untuk PostgreSQL 8.2 dan Terdahulu

Untuk PostgreSQL 8.2 dan versi terdahulu atau RDBMS lain tanpa ciri NULLS LAST, anda boleh menggunakan yang berikut penyelesaian:

ORDER BY (somevalue IS NULL), somevalue DESC

Oleh kerana FALSE diisih sebelum TRUE, nilai NULL (yang diwakili sebagai NULL dalam PostgreSQL) akan dianggap FALSE dan oleh itu diisih terakhir, dengan berkesan menolaknya ke bahagian atas jadual diisih dalam menurun pesanan.

Rujukan

  • [Isih mengikut lajur ASC, tetapi nilai NULL dahulu?](https://stackoverflow.com/questions/5259380/sort -by-column-asc-but-null-values-first)
  • [Manual pada PILIH](https://www.postgresql.org/docs/current/static/sql-select.html)

Atas ialah kandungan terperinci Bagaimanakah PostgreSQL Mengendalikan Nilai NULL dalam ORDER BY Klausa?. 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