PostgreSQL 中的空值排序
Postgres 根据排序顺序以不同方式处理 NULL 值的排序。默认情况下,NULL 值按升序排列到表末尾。但是,按降序排序的行为有所不同。
降序排序
按降序排列,NULL 值默认排序到表的顶部。为了覆盖此行为并将 NULL 值排序到最后,PostgreSQL 在版本 8.3 中引入了 NULLS LAST 关键字:
ORDER BY somevalue DESC NULLS LAST
PostgreSQL 8.3 之前的版本和非标准 SQL 数据库
对于 PostgreSQL 8.2 及更早版本,或其他没有 NULLS LAST 功能的 RDBMS,有一个解决方法:
ORDER BY (somevalue IS NULL), somevalue DESC
这会将 NULL 值排在最后,因为 FALSE(代表 NULL)在 TRUE 之前排序。
以上是PostgreSQL 如何处理 NULL 值升序和降序排序?的详细内容。更多信息请关注PHP中文网其他相关文章!